Проблемы с размером приложения - PullRequest
2 голосов
/ 24 октября 2011

У меня проблемы с размером моего приложения при попытке запуска на эмуляторе . Я использую изображений , которые занимают сейчас 11 МБ пространства. Сначала при запуске эмулятора загрузка файла занимает почти минуту, затем отображается эта ошибка:

[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 (12 МБ) и resources.ap_ (12 МБ) и, на один шаг вниз в папке bin / packagename /-, есть 85 файлов , названных как мои StartActivity, пронумерованы от начального $ 1.класса до стартового $ 85.класса. В моем Start.java есть HomeScreen, на котором показываются некоторые изображения, но многие на onClickListener с Intents.

Это нормально или это может быть причиной?

Ранее у меня были некоторые другие ошибки, такие как INSTALL_FAILED_MEDIA_UNAVAILABLE ошибка и INSTALL_FAILED_INSUFFICIENT_STORAGE. С тех пор я нашел несколько потоков на stackoverflow.com и внес некоторые изменения в настройки эмулятора, например добавление в командной строке:

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

(16384 в порядке? Потому что 1024mb не хватит размера)

Я также проверил «Wipe User Data» и отредактировал AVD:

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

Но я всегда получаю одни и те же типы ошибок, которые говорят, что недостаточно места. Кто-нибудь знает решение?

Я читал, что максимальный размер apk-файла составляет 50 МБ. Это верно?

Ответы [ 2 ]

1 голос
/ 24 октября 2011

Я думаю, что на вашем эмуляторе недостаточно места.

В моем эмуляторе у меня ~ 35 МБ свободного места.

Я не уверен, что это поможет (но это может быть попытка:

Вы можете попытаться обновить файл манифеста, добавив в него android: installLocation = "ferExternal "в теге манифеста, как в этом ПРИМЕРЕ:

<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 (это скорее обходной путь).

0 голосов
/ 25 октября 2011

Так что, по крайней мере, я не могу сказать, что именно было ошибкой, но комбинация советов Ивана и Мичелла Бака помогла мне.

Я удалил старые эмуляторы и создал новый, в который я ввел 32 МБ для размера SD-карты, добавленной в конфигурации устройства в командной строке

-partition-size 2047

и добавил это в манифест Android:

android:installLocation="preferExternal"

Теперь ошибки исчезли. Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...