-3

如何使用 Rooted 设备以编程方式使用Runtime.getRuntime().exe.

我应该使用 Pull、Push 还是 Cat 命令以及如何使用?

它会影响共享首选项或任何东西吗?

4

2 回答 2

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 文件(用于不丢失)。

于 2013-01-16T18:49:14.660 回答
-1

好吧,您需要拉取实际的 apk,而不是里面的应用程序文件夹/data
但是在您获得 APK 之后,您可以使用命令:
adb push myapp.apk /system/app
将其推送到/system/app文件夹中。当您将 apk 推送到 时/data/app,它会将其安装为系统应用程序
不要这样做adb install myapp.apk,否则它将作为普通应用程序安装
要实现此目的,请将上述命令与Runtime.exec()或查找如何使用ProcessBuilder

于 2013-01-16T20:44:07.150 回答