我正在尝试通过adb shell在ICS模拟器中安装一个从某个网站下载的apk文件,但是它给出了以下错误:
失败 [INSTALL_FAILED_UID_CHANGED]
可能是什么问题呢?
我正在尝试通过adb shell在ICS模拟器中安装一个从某个网站下载的apk文件,但是它给出了以下错误:
失败 [INSTALL_FAILED_UID_CHANGED]
可能是什么问题呢?
只需删除相关数据目录,执行"rm -r /data/data/com.app.class"命令即可。如果你在安装时遇到此错误,可以从ADB shell中运行该命令。如果想尝试保留数据,可以找到适当的UID,然后运行 "chown -R UID:UID /data/data/com.app.class" 命令。
在Android中,处理应用程序安装的源代码部分是PackageManagerService。由于Android源代码是公开的,很容易看到Android何时会抛出INSTALL_FAILED_UID_CHANGED错误。如果满足以下条件:正在安装的包已经有一个数据目录,并且该数据目录上的权限与分配给此包的UID不同,则会出现该错误。
首先从模拟器中卸载应用程序的旧版本,然后再尝试安装新版本。您可以通过访问“系统设置”>“应用程序”>“管理应用程序”并选择该应用程序来完成此操作。
如果应用程序仍无法安装,则请使用“擦除用户数据”选项启动模拟器。
打开命令提示符并输入以下代码:
adb devices
这将列出连接或活动设备的数量。将您的apk复制到系统文件夹中。
adb -s DEVICE_NAME install YOUR_APK_NAME