Mat*_*adt 126 android package-managers android-package-managers
我尝试部署我的应用程序,有时会收到此错误:
Failure
[INSTALL_FAILED_CONTAINER_ERROR]
Run Code Online (Sandbox Code Playgroud)
我试图谷歌它,但没有找到错误的含义或它是由什么引起的.我通过IDE(IntelliJ)部署文件被复制到设备到/ data/local/tmp(无根的Huawei Ideos,运行2.2),但包管理器似乎不喜欢它.在安装apk之前,我已经预先从设备中删除了应用程序.我还确保设备上的/ data/local/tmp下没有旧文件.我现在仍然收到这个错误.应该使用调试密钥对包进行签名,因为我通过'运行'应用程序来部署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]
Run Code Online (Sandbox Code Playgroud)
它是什么意思以及如何解决它?
编辑/更新:
不允许在sdcard上安装应用程序时,我可以避免错误设置
android:installLocation="internalOnly"
Run Code Online (Sandbox Code Playgroud)
在清单中.它可以用于开发,但对于生产而言,它并不是我想要的 - 因为我的应用程序相当大,只有17mb; 因此我更喜欢它在SD卡上.如何以往任何时候都能够在外部存储器安装不生根(因为这是我可以删除/mnt/secure/asec/smdl2tmp1.asec的唯一途径,这似乎是一个解决方案,以及).
Ren*_*ene 220
从中更改安装位置
android:installLocation="preferExternal"
Run Code Online (Sandbox Code Playgroud)
成
android:installLocation="auto"
Run Code Online (Sandbox Code Playgroud)
在您的项目的AndroidManifest.xml中.
小智 44
从您的设备中删除此文件
/mnt/secure/asec/smdl2tmp1.asec
Run Code Online (Sandbox Code Playgroud)
由Mathias Conradt(OP)编辑/更新:
如果您没有root访问权限,则需要安装SD卡并通过pc将其删除:
/.android_secure/smdl2tmp1.asec
Run Code Online (Sandbox Code Playgroud)
小智 31
如果您正在使用模拟器,请对其进行编辑并添加更多内存.我有一个问题,就像这个一样,我所做的只是编辑我的AVD的内存从200 MB到1000 MB,问题似乎消失了......祝你好运.
小智 6
我反复遇到这个错误.我发现避免错误的最简单方法就是简单地格式化SD卡.使用手机或模拟器内部工具.我发现自动生成的SD卡甚至制作你自己的sdcard.iso失败并导致此错误,除非由内部android工具格式化.