当我像这样设置Manifest.xml文件时
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fugo.Rocket"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="preferExternal">
android安装会出错
[2011-03-24 18:18:47 - 火箭项目]安装错误: INSTALL_FAILED_CONTAINER_ERROR [2011-03-24 18:18:47 - 火箭项目] 请检查logcat输出以获取更多信息 细节。 [2011-03-24 18:18:47 - 火箭 项目]启动已取消!
但是当我设置android:intallLocation =“auto”
时安装成功。那是为什么?
logcat错误
03-24 18:48:38.784: ERROR / PackageHelper(1284):失败 创建安全容器smdl2tmp1 03-24 18:48:38.784: ERROR / DefContainer(1284):失败 创建容器smdl2tmp1 03-24 18:48:38.784:ERROR / Vold(86):ASEC 文件'/mnt/secure/asec/smdl2tmp1.asec' 目前存在 - 先破坏它! (地址已在使用中)
答案 0 :(得分:6)
检查你的minSDKversion设置为什么。此功能仅适用于FROYO。 (SDK VERSION 8以后)。
此外,你需要编译它并在Android2.2 sdk上运行
答案 1 :(得分:2)
在我的情况下,文件smdl2tmp1.asec以某种方式被破坏了。我把卡放在PC上,我甚至无法将该文件复制到我的硬盘中(用于备份)。所以我不得不删除它,它解决了这个问题。
昨天我的手机在安装游戏时重新启动,我认为它有一些与这个问题有关。
答案 2 :(得分:2)
在这方面,Android似乎有点小问题,并没有正确处理所有可能的情况。
我有一个类似但更复杂的问题。解决方案基本上是删除/sdcard/.android_secure /中的相应文件...另见:
我自己的问题涉及两个 Android设备。在设备#1(Android 2.2)上安装了一个应用程序,然后我将设备#1安装到设备#2(Android 4.0.3)上。然后我在设备#2上安装了相同的应用程序。猜猜是什么,它安装在设备#1的SD卡上,覆盖设备#1上的安装。卸载设备#1后,该应用程序无法在设备#2上运行。该应用程序仍然可以在设备#1上运行。我在设备#2上卸载它,没有错误,但无法重新安装(我收到错误“无法创建安全容器smdl2tmp1”)。
我的解决方案是在设备#1上卸载应用程序,然后将其重新安装到设备#2上,然后将其安装在设备#2上。然后我将应用程序从SD卡移动到内存。
答案 3 :(得分:1)
我建议你检查并查看你的仿真器是否安装了外置SD卡吗?您可以在创建AVD时进行设置。
答案 4 :(得分:0)
重启设备对我有用。