and*_*per 4 android adb android-sdcard
可以使用(基于此链接)将默认安装设置为SD卡:
对于预先API14:
adb shell pm setInstallLocation 2
Run Code Online (Sandbox Code Playgroud)
API 14及以上版本:
adb shell pm set-install-location 2 (Android 4.x)
Run Code Online (Sandbox Code Playgroud)
这仅适用于新安装的应用程序(或者您只是手动遍历每个应用程序并将其设置在那里),但我想知道如何将已安装的应用程序重新安装到SD卡中(还可以重新安装到内部存储器中) ).
我试图通过ADB读取可用的命令,并尝试运行下一个命令:
adb shell pm install -s -r -i com.example.test
Run Code Online (Sandbox Code Playgroud)
但它没有用
假设应用程序已经安装在内部存储器(或SD卡)上,我如何使用ADB将其重新安装到SD卡(或内部)?
显然,需要提供APK的位置而不是包名.
以下是我在Play Store上安装的VLC,最初位于内部存储中:
$ adb shell pm install -s -r /data/app/org.videolan.vlc.betav7neon-1.apk
pkg: /data/app/org.videolan.vlc.betav7neon-1.apk
Success
$
Run Code Online (Sandbox Code Playgroud)
然后回到内部存储:
$ adb shell pm install -f -r /mnt/asec/org.videolan.vlc.betav7neon-1/pkg.apk
pkg: /mnt/asec/org.videolan.vlc.betav7neon-1/pkg.apk
Success
$
Run Code Online (Sandbox Code Playgroud)
以下是带有-i: specify the installer package name选项的相应命令.
转到SD卡:
$ adb shell pm install -i "com.android.vending" -s -r /data/app/org.videolan.vlc.betav7neon-1.apk
pkg: /data/app/org.videolan.vlc.betav7neon-1.apk
Success
Run Code Online (Sandbox Code Playgroud)
移至内部存储:
$ adb shell pm install -i "com.android.vending" -f -r /mnt/asec/org.videolan.vlc.betav7neon-1/pkg.apk
pkg: /mnt/asec/org.videolan.vlc.betav7neon-1/pkg.apk
Success
Run Code Online (Sandbox Code Playgroud)
使用-i是可选的,但如果未使用,则移动期间安装程序信息将丢失:
$ adb shell pm list packages -3 -i
package:org.videolan.vlc.betav7neon installer=com.android.vending
$ adb shell pm install -s -r /data/app/org.videolan.vlc.betav7neon-1.apk
pkg: /data/app/org.videolan.vlc.betav7neon-1.apk
Success
$ adb shell pm list packages -3 -i
package:org.videolan.vlc.betav7neon installer=null
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
12506 次 |
| 最近记录: |