我可以使用shell命令将apk
从SD卡复制到system/app
:
Process process = Runtime.getRuntime().exec("su");
DataOutputStream out = new DataOutputStream(process.getOutputStream());
out.writeBytes("mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system\n");
out.writeBytes("cat /sdcard/myApp.apk > /system/app/myApp.apk\n");
out.writeBytes("mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system\n");
out.writeBytes("exit\n");
out.flush();
process.waitFor();
问题是,我的设备忽略它,因为它没有设置属性。
当我使用root浏览器将其更改为 -rw-r - r - 时,它可以正常工作!!我该如何使用代码? :)
答案 0 :(得分:0)
您知道,您将无法在非root设备上执行此操作。要更改文件权限,
out.writeBytes("chmod 644 /system/app/myApp.apk\n");
此外,
out.writeBytes("cat /sdcard/myApp.apk > /system/app/myApp.apk\n");
应该是:
out.writeBytes("cp /sdcard/myApp.apk /system/app/myApp.apk\n");