如何使我的应用程序成为系统应用程序?
How to make my app a system app?
我可以使用 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();
问题是,我的设备忽略了它,因为它没有设置属性。
当我使用根浏览器将其更改为 -rw-r--r-- 时,它起作用了!!我如何使用代码执行此操作? :)
请注意,您将无法在非 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");
我可以使用 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();
问题是,我的设备忽略了它,因为它没有设置属性。
当我使用根浏览器将其更改为 -rw-r--r-- 时,它起作用了!!我如何使用代码执行此操作? :)
请注意,您将无法在非 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");