如何使用 Rooted 设备以编程方式使用Runtime.getRuntime().exe
.
我应该使用 Pull、Push 还是 Cat 命令以及如何使用?
它会影响共享首选项或任何东西吗?
尝试
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 文件(用于不丢失)。
好吧,您需要拉取实际的 apk,而不是里面的应用程序文件夹/data
但是在您获得 APK 之后,您可以使用命令:
adb push myapp.apk /system/app
将其推送到/system/app
文件夹中。当您将 apk 推送到 时/data/app
,它会将其安装为系统应用程序
不要这样做adb install myapp.apk
,否则它将作为普通应用程序安装
要实现此目的,请将上述命令与Runtime.exec()
或查找如何使用ProcessBuilder类