如何使用植根设备将我的apk从数据文件夹推送到系统/应用程序文件夹,以编程方式使用Runtime.getRuntime().exe
。
我应该使用Pull,Push还是Cat Command以及如何使用?
它是否会影响共享首选项或其他任何内容?
答案 0 :(得分:2)
尝试
Runtime.getRuntime().exec("pm install -r "/path/to/yourfilename.apk";)
用法 pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] [--algo --key --iv] PATH
选项:
-l: install the package with FORWARD_LOCK.
-r: reinstall an exisiting app, keeping its data.
-t: allow test .apks to be installed.
-i: specify the installer package name.
-s: install package on sdcard.
-f: install package on internal flash.
根据您对-r参数的使用情况,它将影响共享首选项xml文件(用于不丢失)。
答案 1 :(得分:-1)
嗯,你需要拉出实际的apk,而不是/data
里面的应用程序文件夹
但是在获得APK后,您可以使用命令:
adb push myapp.apk /system/app
将其推送到/system/app
文件夹。当您将apk推送到/data/app
时,它会将其安装为系统应用程序
不要adb install myapp.apk
或它将作为普通应用安装
要实现此目的,请将上述命令与Runtime.exec()
配对,或查找如何使用ProcessBuilder类