这是什么意思:失败?

我尝试部署我的应用程序,有时得到这个错误:

Failure [INSTALL_FAILED_CONTAINER_ERROR] 

我试图谷歌,但没有find错误意味着什么,或者是什么造成的。 我通过IDE(IntelliJ)进行部署,将文件复制到设备/ data / local / tmp(无根据的Huawei Ideos,运行2.2),但是软件包pipe理器似乎并不喜欢它。 在安装apk之前,我已经事先从设备中删除了应用程序。 我也确定设备上没有/ data / local / tmp下的旧文件。 仍然我现在得到这个错误。 应该使用debugging密钥对软件包进行签名,因为我通过“运行”应用程序通过IDE进行部署。

 $ pwd /data/local/tmp $ ls -l -rw-rw-rw- shell shell 17257686 2011-04-21 20:31 com.company.shop $ pm install -r com.company.shop pkg: com.company.shop Failure [INSTALL_FAILED_CONTAINER_ERROR] 

这是什么意思,如何解决?

编辑/更新:

我可以避免错误,当不允许应用程序安装在SD卡上,设置

 android:installLocation="internalOnly" 

在清单中。 开发没问题,但是对于生产来说,这并不是我想要的 – 因为我的应用程序相当大,只有17mb; 所以我更喜欢它在SD卡上。 如何永远能够将其安装在外部存储器上,而无需生根(因为这是我可以删除/mnt/secure/asec/smdl2tmp1.asec的唯一方法,这似乎也是一种解决scheme)。

从您的设备中删除此文件

 /mnt/secure/asec/smdl2tmp1.asec 

编辑/更新Mathias Conradt(OP):

如果您没有root访问权限,则需要安装SD卡并通过pc删除它:

 /.android_secure/smdl2tmp1.asec 

从中更改安装位置

 android:installLocation="preferExternal" 

 android:installLocation="auto" 

在你的项目的AndroidManifest.xml中。

如果您正在使用模拟器,请对其进行编辑并添加更多内存。 我遇到了这样的问题,我所做的只是编辑我的AVD内存从200 MB到1000 MB,问题似乎消失…祝你好运。

这意味着有一个早期的安装是腐败的。 如果你在外部安装,我会build议你格式化SD卡再试一次。

我一再有这个错误。 我发现避免整个错误的最简单方法就是简单地格式化SD卡。 使用手机或仿真器的内部工具。 我发现自动生成的SD卡,甚至使自己的SD卡.iso失败,并导致这个错误,除非由内部的Android工具的格式化。

对我来说,这是由于我的模拟器的SD卡上空间不足造成的。 我正在做一个非常大的项目,我以为40 MB已经足够了,但是我把它改成了200 MB,问题就消失了。

我从Android 5.0.1得到这个错误消息。 我已经通过设置 – >应用程序 – >首选安装位置将首选安装位置更改为“可移动SD卡”。

我把选项改回“让系统决定”,错误信息就消失了。

对我来说,这是设备语言。 我呃语言阿拉伯语来testing我的申请。 然后我得到这个错误。 恢复语言的伎俩。

.apk上的Cyanogenmod 12.1(Android 5.1.1)上的各种.apk相同的错误与Link2SD的第二个分区。 我可以通过以root身份强制安装adb来安装应用程序:

 adb root adb install -f myapp.apk 

我有类似的问题与模拟器。 当我将仿真器的CPUtypes从ARM更改为Intel时,它已经不存在了。

在某些情况下,删除libs/android-support-v4.jar产生这个错误。

对于我来说,卸载几个应用程序解决了这个问题。 当本地存储具有足够的内存时,APK的部署已成功完成。 但通常我只是重新启动一个小工具,安装完成。 此外,像清洁大师一些程序可能会有所帮助。 只需经常清理无用的进程,并使用Clean Masterclosures程序,并获得足够的内存。

android:installLocation =“auto”的作品..!

如果不是,一次检查你的外部存储空间大小。[可用内存>应用程序大小]如果存储空间不够,那么这个错误也会被抛出。

重新启动我的设备为我解决了这个问题。