我为我的 android 应用程序生成了一个 apk 包。我尝试使用adb命令在 android 平台 4.1(级别 16)上安装包(apk),但它会产生错误:
Failure [INSTALL_FAILED_CONTAINER_ERROR]
当尝试在同一平台(4.1 级别 16)上使用 eclipse(运行按钮)运行时,它可以正常工作
平台 2.1 和平台 3.2 不会重现此行为
我为我的 android 应用程序生成了一个 apk 包。我尝试使用adb命令在 android 平台 4.1(级别 16)上安装包(apk),但它会产生错误:
Failure [INSTALL_FAILED_CONTAINER_ERROR]
当尝试在同一平台(4.1 级别 16)上使用 eclipse(运行按钮)运行时,它可以正常工作
平台 2.1 和平台 3.2 不会重现此行为
您需要在AndroidManifest.xml
. 你需要做的改变是。改变 :
android:installLocation="preferExternal"
至
android:installLocation="auto"
这对我有用。
如果android:installLocation
设置为"preferExternal"
并且您的 AVD 的 SD 卡太小,则会发生这种情况。增加 SD 卡的大小或更改installLocation
为auto
in AndroidManifest.xml
。
在更改 MainActivity 的名称后删除我的应用程序时出现此错误。如果应用程序由于空间问题未安装或手机认为包已损坏但删除 dalvik 缓存并重新启动为我解决了它,请识别。
尝试安装包含为不同架构编译的本机库的 apk 时,也会返回 INSTALL_FAILED_CONTAINER_ERROR。
收到错误后,尝试从“adb shell”运行“logcat”。如果它报告 java IOException “无法提取本机代码”,那么您需要在为本机库架构创建的 avd 上安装 apk,或者在您的 avd/设备架构的 apk 中包含本机库。
我无法更改构建清单,所以对我来说,解决方案是卸载 SD 卡,安装应用程序,然后将其重新安装。
我改变installLocation="auto"
了清单但不起作用。我发现我的 SD 卡有问题。
所以,我android:installLocation="preferExternal
改为internalOnly
. 它对我有用!