2016-01-21 2 views
7

Я заметил разницу в размере между apk, сгенерированным этими двумя параметрами.Android Studio: разница в размерах между Build APK и Run APK

Почему это происходит?

С Build -> Build APK вариант:

MyProject \ приложение \ сборки \ выходы \ \ App АПК-debug.apk (размер 2,997 KB)

С Run приложения вариант :

MyProject \ приложение \ сборки \ выходы \ APK \ приложение-debug.apk (размер 3,300 KB)

Спасибо.

ответ

3

Это, скорее всего, было бы лучше, если бы оно было поставлено как issue в группу разработчиков Android. Я предполагаю, что вы используете Instant Run внутри Android Studio (AS). Это объясняет больший размер, поскольку Instant Run генерирует прокси-классы для измененного кода.

Редактировать конфигурацию Run для построения с использованием gradle build, и вы должны иметь возможность удалить дополнительный код ... Но это будет иметь гораздо большее время сборки/развертывания ... Если размер отладочной сборки действительно важен для вы затем ОК, но для большинства это разрушит все улучшения Андроид команда сделала для DSL в последнее время для повышения скорости

+0

Да, это то, что мгновенный запуск Это добавление к размеру файла, спасибо !!! – seba123neo

4

построить APK ярлык для запуска Gradle задачи :app:assembleDebug (если у вас есть вариант отладки активного в Варианты строительства).

При запуске приложения мы сначала спросим вас, на какое устройство вы хотите настроить таргетинг, а затем передайте информацию в Gradle. Помимо прочего, это позволяет нам отфильтровывать ненужные ресурсы. Если у вас включен Instant Run, мы также добавим дополнительный код в APK.

+0

Да, это то, что мгновенный запуск Он добавляет размер файла, спасибо !!! – seba123neo

+0

ОК, то как получить мой старый apk с уменьшенным размером, однажды также добавьте дополнительный код в APK –

4

Мой мгновенный пробег был выключен.

Я получил размер APK 6 МБ, используя Run->Run 'App' и 11 МБ, используя опцию Build->Build APK как для подписанного, так и для неподписанного АПК. Опция Build->Generate Signed APK... также дает мне 11 МБ APK для моего приложения.

Я думаю, что Android Studio потеряет некоторые ресурсы, чтобы быстрее строить.

APK с размером 11 МБ имеет больше ресурсов, поэтому лучше будет загружать в игровой магазин.

Я использовал Build->Analyze Apk... для анализа обоих APK, поэтому я нашел разницу 5.7mb в res, вызванную некоторыми дополнительными чертежами из библиотек v4 и v17.

enter image description here

6

При создании сборки по Build-> Build APK, то APK будет содержать все ресурсы для всех устройств. i.e для ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi.

Но если вы используете приложение на устройстве/эмуляторе, оно обнаружит, что такое разрешение телефона, и добавит только ресурсы с этим разрешением в файл apk. Например, если ваше устройство является xhdpi, оно выведет все остальные разрешения экрана и будет содержать только ресурсы xhdpi.

Смежные вопросы