Android memory needed to install apk on external storage?

I am trying to install an app on a Nexus One (2.3.6) device. The APK has a size of over 100 MB because it contains lots of assets. When I install, I get the following exception.

[2012-04-17 23:26:18] Failed to install [redacted].apk on device '[redacted]': No space left on device [2012-04-17 23:26:18] com.android.ddmlib.SyncException: No space left on device [2012-04-17 23:26:18] Launch canceled

I've clearly indicated that I wanted the apk to install on external storage, ie SD card. When I tried to install the same app with a smaller apk size, I verified it was indeed installed on SD card. The SD card has over 3GB of storage, which is way more than enough to accommodate 100 MB.

What is going on? I notice when I reduce the apk size to be below the size of available internal storage, all works well; so the only meaningful conclusion I can draw is that internal memory is needed to install the apk to external storage.

Has anyone else encountered the same issue?

Edit: It is true that Google Play limits your app to 50 MB. But that restriction is purely a limitation of Google Play, and it is not an Android apk restriction. Amazon, for example, allows apk of any size. You can try this by installing an apk of size 60 MB to your phone using Android development tools.


Android applications must be less than 50MB. You can avoid this limitation ( see here: http://android-developers.blogspot.com/2012/03/android-apps-break-50mb-barrier.html, http://developer.android.com/guide/market/expansion-files.html ), but only for expansion apks.


Put the assets outside the application. On first use (or after install) download on external storage all the files you store now in asset folder.

链接地址: http://www.djcxy.com/p/66906.html

上一篇: 发明人:将应用程序安装到SD卡上

下一篇: Android内存需要在外部存储上安装apk吗?