最近碰到apk的包名和签名相同进行覆盖安装时,出现Failure [INSTALL_FAILED_UID_CHANGED]的错误;通过网上查找了解到,一般覆盖安装的UID是不变的,除非apk有android:sharedUserId(AndroidManfest.xml manifest节点属性),这是如果前一个版本没有这个属性,而后一个版本有的话,这样就不能覆盖安装,就会出现Failure [INSTALL_FAILED_UID_CHANGED]的错误。
解决办法:一种是只能删除上一版本的apk,重新安装;另一种是在前一个版本也加上android:sharedUserId属性,这样就能覆盖安装了。
参考:https://www.zhihu.com/question/31800220