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

  按Ctrl+C退出系统,利用adb pull /data/system/packages.xml命令将packages.xml放到你PC机本地,然后找到你需要的包名,删除到的一段数据。例如:



  1. <package name="com.android.wallpaper" codePath="/system/app/LiveWallpapers.apk" nativeLibraryPath="/data/data/com.android.wallpaper/lib" flags="1" ft="11b7e237e00" it="11b7e237e00" ut="11b7e237e00" version="10" userId="10012"><sigs count="1">
  2. <cert index="2" />
  3. </sigs>
  4. </package>

复制代码

  保存packages.xml,然后adb push packages.xml /data/system将packages.xml文件送回设备中。

  然后再次adb install安装你的apk文件,看看是否success。

补充:

adb shell

cd /data/app/,删除apk文件  rm -rf xxx

cd /data/data/,删除apk文件 rm -rf xxx

 


你以前安装过这个应用程序,到/data/data下删除完这个程序的包名对应的文件夹, 新安装的会另外生成uid。


装不上是因为检查到原来/data/data下的文件对应uid还是旧的