利用adb shell进入系统,进入/data/app或者/data/data,删除跟你安装的apk同样的包名;
按Ctrl+C退出系统,利用adb pull /data/system/packages.xml命令将packages.xml放到你PC机本地,然后找到你需要的包名,删除到的一段数据。例如:
- <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">
- <cert index="2" />
- </sigs>
- </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还是旧的