设置android:installLocation =“preferExternal”时出错

时间:2011-03-24 11:36:48

标签: android installation adb

当我像这样设置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'   目前存在 - 先破坏它!   (地址已在使用中)

5 个答案:

答案 0 :(得分:6)

检查你的minSDKversion设置为什么。此功能仅适用于FROYO。 (SDK VERSION 8以后)。

此外,你需要编译它并在Android2.2 sdk上运行

答案 1 :(得分:2)

在我的情况下,文件smdl2tmp1.asec以某种方式被破坏了。我把卡放在PC上,我甚至无法将该文件复制到我的硬盘中(用于备份)。所以我不得不删除它,它解决了这个问题。

昨天我的手机在安装游戏时重新启动,我认为它有一些与这个问题有关。

答案 2 :(得分:2)

在这方面,Android似乎有点小问题,并没有正确处理所有可能的情况。

我有一个类似但更复杂的问题。解决方案基本上是删除/sdcard/.android_secure /中的相应文件...另见:

http://www.androidpolice.com/2011/04/19/fixing-the-couldnt-install-on-usb-storage-or-sd-card-problem-on-android/

我自己的问题涉及两个 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)

重启设备对我有用。