我想用
命令screencap截图,有生成文件,可是截出来的图是空的。
命令uiautomator dump下资源文件,代码正常执行,没结果。没生成任何文件
命令ls列文件列表,可正常执行。有输出内容。不晓得具体是什么原因导致的,请高手帮忙解下,谢谢了。当前app权限:
<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_FRAME_BUFFER"
        tools:ignore="ProtectedPermissions"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
环境是夜神模拟器,root了。
String mSavaPath = Environment.getExternalStorageDirectory() + File.separator + "m.jpg";    
        try{
            Process p = Runtime.getRuntime().exec("/system/bin/screencap -p " + mSavaPath);

解决方案 »

  1.   

    执行命令rm -rf /  可以么?
    屏幕数据是敏感数据,安能随便执行
      

  2.   

    清单列表加入android:sharedUserId="android.uid.system"这个属性看下
      

  3.   

     
    嗯 ,不行之后,网上资料就是说加这个,然后就顺着这个下去,提示不能安装,INSTALL_FAILED_SHARED_USER_INCOMPATIBLE,然后开始弄签名什么的,通过文章:https://www.jianshu.com/p/407c3754e490?tdsourcetag=s_pcqq_aiomsg
    生成了keystore,配置到项目中,结果还是出现无法安装。依然提示INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
      

  4.   

    android.uid.system这个签名是要和手机编译出来的版本签名一致说白了就是和你手机系统里的签名文件一致.一般都是系统应用才可以呀
      

  5.   


    那我不加这个,能不能实现截屏或者复制文件的命令?
    String mSavaPath = Environment.getExternalStorageDirectory() + File.separator + "m.jpg";    
            try{
                Process p = Runtime.getRuntime().exec("/system/bin/screencap -p " + mSavaPath);