adb shell删除系统apk重新安装包

一、删除Android系统下的软件,使用adb shell进入系统,然后使用命令重新挂载“/system”目录为读写权限,具体操作及命令如下:

1、打开dos窗口:win+R  

输入:

[plain] view plain copy print ?
  1. cmd  

2、输入命名:adb shell

[plain] view plain copy print ?
  1. C:\Users\Administrator>adb shell  

3、切换到root权限:su

[plain] view plain copy print ?
  1. root@android:/ # su  

4、重新挂载: mount -o remoun,rw rootfs /system/

     注意上面的命令一起输入,包括中间的逗号

[plain] view plain copy print ?
  1. root@android:/ # mount -o remount,rw rootfs /system/  

5、进入系统安装目录: system/app

[plain] view plain copy print ?
  1. root@android:/ # cd system/app  

6、查看apk包:ls

[plain] view plain copy print ?
  1. root@android:/ # ls  

7、删除apk包:rm -r com_voice_upgrade.apk

[plain] view plain copy print ?
  1. root@android:/system/app # rm -r com_voice_upgrade.apk  

注:删除apk包后,系统中的应用会自动删除卸载的,无需手动卸载


二、删除包后,运行程序调试会出现INSTALL_FAILED_UPDATE_INCOMPATIBLE的安装错误

主要原因是你删除了apk包,但是系统中还有安装信息没有删除;

利用adb shell进入系统,进入/data/app或者/data/data,删除跟你安装的apk同样的包名

1、进入adb shell

2、进入程序安装信息目录

[plain] view plain copy print ?
  1. root@android:/ # cd data/data  

3、ls查询信息,删除apk信息

[plain] view plain copy print ?
  1. root@android:/data/data # rm -r com.voice.upgrade  

4、修改/data/system/packages.xml中安装包信息,将xml导出到桌面

[plain] view plain copy print ?
  1. adb pull/data/system/packages.xml C:\Users\Administrator\Desktop  

5、编辑xml删除与之前删除apk的信息

找到你需要的包名,删除的一段数据。例如:

[html] view plain copy print ?
  1. <package name="com.voice.upgrade" codePath="/system/app/LiveWallpapers.apk" nativeLibraryPath="/data/data/com.android.wallpaper/lib" flags="1" ft="11b7e237e00" it="11b7e237e00" ut="11b7e237e00" version="10" userId="10012">  
  2. <sigs count="1">  
  3. <cert index="2" />  
  4. sigs>  
  5. package>  

保存package.xml


6.最后将xml导入系统中

[plain] view plain copy print ?
  1. adb push C:\Users\Administrator\Desktop\packages.xml/data/system  

7.设置完成了一定要重启手机:adb reboot

[plain] view plain copy print ?
  1. adb reboot 

你可能感兴趣的:(Android开发)