2011-10-24 85 views
2

我尝试在模拟器上运行时遇到我的应用的尺寸问题。我正在使用图片,现在需要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文件夹。有两个文件MyApp.apk(12MB)和resources.ap_(12 MB),在bin/packagename /文件夹下一步,有85个文件,名称类似于我的StartActivity,从Start $ 1开始计算。开始$ 85.class类。在我的Start.java中是HomeScreen,其中显示了一些图像,但许多带有Intents的onClickListeners。

这是正常的还是这可能是原因?

之前,我已经得到了一些其他错误,像INSTALL_FAILED_MEDIA_UNAVAILABLE错误和INSTALL_FAILED_INSUFFICIENT_STORAGE。 从那时起,我发现在一些stackoverflow.com线程和我做的模拟器的设置了一些变化,比如在命令行中添加:

emulator.exe -avd 2TabGalaxy3.2GoogleAPI -partition-size 16384 -no-snapshot-load 

(16384是确定病因1024MB止跌” T为足够的大小)

我也查了“抹用户数据”和编辑AVD:

SD Card Size: 256MB 
SD Card support : yes 
Max VM application heap size: 192 
Device Ram Size: 192 

但我总是得到相同类型的错误,这不能不说有ISN”足够的空间。 任何人都知道解决方案?

我读过,apk文件的最大尺寸是50MB。那就对了?

+0

你能发布确切的错误信息吗? –

+0

你究竟是什么意思?这是在控制台中打印的整个错误。在此之前,站在[2011-10-24 13:17:12 - BrunnerApp] ------------------------------ [2011-10-24 13:17:12 - MyApp] Android发布! [2011-10-24 13:17:12 - MyApp] adb正常运行。 [2011-10-24 13:17:12 - MyApp]执行my.name.MyApp.Start活动启动 [2011-10-24 13:17:12 - MyApp]自动对象模式:首选AVD'2TabGalaxy3.2GoogleAPI '在仿真器上可用'仿真器-5554' [2011-10-24 13:17:12 - MyApp]将MyApp.apk上传到设备'emulator-5554' – 10ff

+1

对不起,一定错过了它。也许这个问题和答案可以帮助你: http://stackoverflow.com/questions/3536463/android-application-apk-maximum-size –

回答

0

所以,至少我不能说这个错误到底是什么,但是Ivan和Michell Bak的提示结合起来帮助了我。

我删除旧的仿真器和创建一个新的,其中I输入32 MB用于SD卡的大小,在该装置配置中添加在命令行

-partition-size 2047 

而在Android加入此清单:

android:installLocation="preferExternal" 

现在错误消失了。非常感谢你!

1

我认为你的模拟器可能已经耗尽了空间。

在我的模拟器中,我有〜35mb的可用空间。

我不知道这帮助(但它可能是一个尝试:

你可以尝试更新您清单文件中添加机器人:在清单标签的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卡进行isntalled这样

或者你可以尝试按照这个帖子:http://androidforums.com/desire-tips-tricks/160560-force-apps-install-sd-without-root.html它解释了如何强制机器人上安装外接SD的所有包(它更像是一种工具ound)。

+0

是的,你是对的,模拟器的空间太低了......这也是在右下角的模拟器中显示的:在显示错误之前“空间不足”。我已经尝试了清单中的更改,但不幸的是它没有帮助。 – 10ff

+0

检查我的答案更新 – Ivan

+0

嗯,因为它似乎是我的应用程序已经安装在SD卡上。至少它在菜单“应用程序设置” - >“应用程序”中显示在模拟器中。但它有说,该应用程序将只有52KB大。并且使用14MB的SD卡,238MB免费。在我的Manifest中,有android:installLocation =“preferExternal”,并在AVD的编辑窗口中给出了SD卡256MB的空间。神秘地说,它仍然在说:设备上没有剩余空间? – 10ff