プログラムを使用して、ルート化されたデバイスを使用して、データ フォルダーからシステム/アプリ フォルダーに apk をプッシュするにはどうすればよいですか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
と、通常のアプリとしてインストールされ
ます。これを実現するには、上記のコマンドを使用するか、 ProcessBuilderクラスRuntime.exec()
の使用方法を調べます。