尝试在模拟器上运行时,我的应用程序大小出现问题。我正在使用图像,目前占用11MB的空间。首先,启动模拟器时,上传文件几乎需要一分钟,然后会显示以下错误:
[2011-10-24 11:29:50 - MyApp] Failed to install MyApp.apk on device 'emulator-5554': No space left on device
[2011-10-24 11:29:50 - MyApp] com.android.ddmlib.SyncException: No space left on device
[2011-10-24 11:29:50 - MyApp] Launch canceled!
当我查看我的文件夹时,该应用的整个文件夹需要 37MB 。最大的一个是/ bin-folder。有两个文件MyApp.apk(12MB)和resources.ap_(12 MB),并且在bin / packagename / -folder中有一步,有 85个文件,名称类似于我的StartActivity,从Start $ 1.class到Start $ 85.class计算。在我的Start.java中是HomeScreen,其中显示了一些图像,但许多onClickListeners都显示了Intents。
这是正常的还是这可能是原因?
之前,我还有一些其他错误,例如 INSTALL_FAILED_MEDIA_UNAVAILABLE 错误和 INSTALL_FAILED_INSUFFICIENT_STORAGE。 从那时起,我在stackoverflow.com上找到了一些线程,我在模拟器设置中做了一些更改,比如在命令行中添加:
emulator.exe -avd 2TabGalaxy3.2GoogleAPI -partition-size 16384 -no-snapshot-load
(16384没关系?因为1024mb的尺寸不够大)
我还检查了“擦除用户数据”并编辑了AVD:
SD Card Size: 256MB
SD Card support : yes
Max VM application heap size: 192
Device Ram Size: 192
但我总是得到相同类型的错误,这些错误表示没有足够的空间。 有人知道解决方案吗?
我已经读过apk文件的最大大小是50MB。那是对的吗?
答案 0 :(得分:1)
我想你可能已经在模拟器上用完了空间。
在我的模拟器中,我有大约35mb的可用空间。
我不确定是否有帮助(但可能是尝试:
您可以尝试在清单标记中更新清单文件,添加android:installLocation =“preferExternal”,如下例所示:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.yourappname"
android:versionCode="1"
android:versionName="1.0" android:installLocation="preferExternal">
这样,如果可用,您的应用程序应该安装在外部SD卡中。
或者你可以尝试关注这篇文章:http://androidforums.com/desire-tips-tricks/160560-force-apps-install-sd-without-root.html它解释了如何强制android在外部SD上安装所有软件包(这是一种解决方法)。
答案 1 :(得分:0)
所以,至少我不能说这究竟是什么错误,但Ivan和Michell Bak的提示组合帮助了我。
我删除了旧仿真器并创建了一个新的仿真器,我输入的SD卡大小为32 MB,在命令行的设备配置中添加
-partition-size 2047
并在Android Manifest中添加了这个:
android:installLocation="preferExternal"
现在错误消失了。非常感谢你!