0

我坚持在代码中执行写入命令:

            Process sh = Runtime.getRuntime().exec("su -c [command]");
            OutputStream os = sh.getOutputStream();

            String filePath = Environment.getExternalStorageDirectory().getPath();

            Toast.makeText(this, filePath+st+".jpg", Toast.LENGTH_SHORT).show();
            //os.write(("/system/bin/screencap -p " + "/sdcard/img.png").getBytes("ASCII"));
        //  os.write(("/system/bin/screencap -p " + "\"/data/data/com.example.code/files/"+filePath+".png\"").getBytes("ASCII"));
            os.write(("/system/bin/screencap -p " +filePath+st+".jpg").getBytes("ASCII"));
            os.flush();
            os.close();     
            sh.waitFor();

我已经安装了 SuperUser.apk 并将“su”二进制文件放在 /sdcard/Android/bin 文件夹中。

Toast 消息本身不会出现。我猜,

4

1 回答 1

0

答案是su不是google生成的。如果它不是原始的,模拟器将不允许java代码访问su。不过,它在我的设备上运行良好!

于 2013-07-17T09:46:25.510 回答