是的,移动设备管理会带来自己的问题,但我敢打赌“失败”是 dos2unix 问题。在我的 Linux 机器上,adb 正在附加一个导致“失败”的 DOS 换行符,因为卸载认为 CR 字符是包名称的一部分。还要从 package-1.apk 文件名的末尾删除“-1.apk”。
adb root
adb shell
pm list packages
pm uninstall com.android.chrome
就我而言,我有一部处于永久“安全模式”的手机,因此只有 /system/app/ 下的应用程序才有机会运行。所以我安装它们以复制 .apk 文件,然后批量卸载并复制到 /system/app/,擦除 /cache 并重新启动。现在,即使在安全的 mdoe 中,我也有更多的应用程序在运行。
# adb root
# pm list packages -3 > /root/bulkuninstall.txt
# vi /root/bulkuninstall.txt and check ^M characters at end of each line.
If ^M, then must run dos2unix /root/bulkuninstall.txt.
Remove '-1.apk' using vi search and replace:
:%s/-1\.apk//g
Or sed...
# cp /data/app/* /storage/sdcard1/APKs/
# for f in `cat /root/bulkuninstall.txt`; do echo $f; pm uninstall $f; done;
#
# echo Now remount system and copy the APK files to /system/app/
# mount | grep system
# mount -o remount,rw /dev/block/(use block device from previous step) /system
# cp /storage/sdcard1/APKs/* /system/app/
# reboot
擦除缓存电源。