运行代码时 安装错误:发生INSTALL_FAILED_CONTAINER_ERROR 请检查logcat输出以获取更多详细信息。 发布已取消!
我只是尝试通过更改来解决这些错误 android:installLocation =“preferExternal”进入 机器人:的installLocation = “自动”
AndroidMainfest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gems.android"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="auto"
>
存储
logcat的:
E/memtrack(1386): Couldn't load memtrack module (No such file or directory)
E/android.os.Debug(1386): failed to load memtrack module: -2
D/AndroidRuntime(1386) : Calling main entry com.android.commands.pm.Pm
W/ActivityManager(381) : No content provider found for permission revoke: file:///data/local/tmp/GEMS.apk
E/Vold(47) : Error creating imagefile (Read-only file system)
E/Vold(47) : ASEC image file creation failed (Read-only file system)
W/Vold(47) : Returning OperationFailed - no handler for errno 30
E/PackageHelper(640) : Failed to create secure container smdl2tmp1
E/DefContainer(640) : Failed to create container smdl2tmp1
W/ActivityManager(381) : No content provider found for permission revoke: file:///data/local/tmp/GEMS.apk
答案 0 :(得分:5)
这是因为
ASEC图像文件创建失败(只读文件系统)
SD卡的安装,重新安装,chmod都不会帮助 - 至少它对我来说没有
C:\Users\<User Name>\AppData\Local\Android\sdk\platform-tools>adb shell root@generic:/ # mount -o remount rw /storage/sdcard mount -o remount rw /storage/sdcard root@generic:/ # mount -o remount rw /mnt/sdcard mount -o remount rw /mnt/sdcard root@generic:/ # chmod -R 777 /mnt/secure/asec chmod -R 777 /mnt/secure/asec Unable to chmod /mnt/secure/asec: Read-only file system
仍然有Unable to chmod /mnt/secure/asec: Read-only file system
Adb重置可能是解决方案的一部分,但它也没有帮助。在安装 sdcard.img 文件(在模拟器上用作SD卡图像的文件)之后,两者都没有帮助通过Windows资源管理器删除 SDCARD / .android_secure / smdl2tmp1.asec strong>可以使用ImDisk程序位于C:\ Users \ .android \ avd \ .avd )(请确保您有正确的选项卡&#34;图像文件访问&#34; - &gt;&# 34;虚拟磁盘驱动器直接访问图像文件&#34;无线电检查。
从模拟器上的Android 设置应用程序即时提供帮助:&#34;存储&#34; - &gt;&#34;删除SD卡&#34; 。如果您在AVD设置中选择Intel Atom作为仿真器CPU,则可能必须至少暂时将其更改为ARM以通过仿真器擦除SD,因为据报道 - 经常在仿真Intel Atom CPU上SD格式化失败。
希望有所帮助!
答案 1 :(得分:1)
尽管大部分时间都可以使用,但即使是新的模拟器和/或SD卡设置有时也会立即显示此故障。
对我来说总是有用的东西(与杀死图像和emus,然后重新启动emu相比,使得开发测试周期快得多)是在内部设备闪存上显式安装软件包 - 显然只是安装失败与SD卡图像一起出现 - 至少对我而言。
使用 pm 工具,您可以在SD卡或闪存上明确安装,因此我 adb推送我的包到设备的SD卡,然后打开一个adb shell使用pm进行显式安装:
adb -e push myapk.apk /mnt/sdcard/temp.apk
adb -e shell
pm install -f /mnt/sdcard/test.apk
如果您使用-s而不是-f,则会指示pm显式安装到SD卡。
BTW - 作为相关的附注: 我还观察到,如果sdcard在模拟器中工作,使用 adb uninstall 后跟 adb install 比使用 adb install重新安装 - 的成功率更高 - [R 即可。在几次测试中证明了这一点,但我没有投入足够的时间以100%的信心说出这一点。这也可能是机会。答案 2 :(得分:0)
删除我的模拟器并重新创建模拟器似乎可以解决这个问题。