以编程方式使用Adb

时间:2013-01-16 18:33:26

标签: android adb root

如何使用植根设备将我的apk从数据文件夹推送到系统/应用程序文件夹,以编程方式使用Runtime.getRuntime().exe

我应该使用Pull,Push还是Cat Command以及如何使用?

它是否会影响共享首选项或其他任何内容?

2 个答案:

答案 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