Android Studio APK Analyzer для отладочных сборок

Я использую последнюю версию Android Studio (2.2 Preview 1), которая только что была выпущена, и пытаюсь воспользоваться преимуществами некоторых новых инструментов.

Новый APK Analyzer очень полезен, но я не могу заставить его работать с отладочными сборками, он кажется точным только для сборок выпуска.

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

Выпустить APK

Теперь, если я использую отладочную сборку того же приложения, она выглядит совершенно иначе. Отсутствует весь код моего приложения, а также все сторонние библиотеки. И вы можете видеть, что количество методов также резко сократилось.

Отладка APK

Так я что-то здесь делаю не так? Как я могу провести этот анализ и в моих отладочных сборках?

Примечание Джеймса Лау в Google+:

Инструмент был разработан, чтобы помочь вам понять и уменьшить размер вашего релизного APK, поскольку это то, что вы публикуете. Таким образом, вы, вероятно, захотите запустить его на своем выпуске APK. Вы можете оставить Instant Run включенным для создания Release APK, так как Instant Run работает только при отладке.


person David Argyle Thacker    schedule 24.05.2016    source источник
comment
Это похоже на то, о чем следует сообщить как об ошибке. Я считаю, что code.google.com/p/android/issues/list является все еще правильное место   -  person JesusFreke    schedule 25.05.2016
comment
Хорошо, звучит хорошо, может быть, я добавлю это.   -  person David Argyle Thacker    schedule 25.05.2016
comment
Просто хотел продолжить и уточнить, это определенно не ошибка. Это просто побочный эффект Instant Run.   -  person David Argyle Thacker    schedule 07.06.2016
comment
@David Argyle Thacker: Я вижу, вы решили свою проблему, просто хочу добавить что-то здесь: если вы используете minifyEnabled или shrinkResources в своем выпуске gradle, тогда ваш код и ресурсы уменьшатся, поэтому размер dex и resources резко уменьшится ! для получения дополнительной информации см .: developer.android.com/studio/build/shrink-code .html   -  person AndiGeeky    schedule 06.01.2017


Ответы (1)


Вы уверены, что у вас есть полная отладочная сборка, а не файл APK для HOT или WARM SWAP?

В Android Studio начиная с версии 2.0 есть функция под названием «Мгновенный запуск», которая позволяет создавать своего рода «дельта-APK» для обновления приложения на устройстве после того, как вы внесли небольшие изменения. Преимущество состоит в том, что вам не нужно выполнять полный процесс сборки gradle, и поэтому такая горячая замена выполняется намного быстрее.

Эти специальные APK-файлы HOT / WARM SWAP включают только недавно внесенные вами изменения и некоторый дополнительный код для слияния созданного APK с существующим APK на устройстве.

Поэтому вы должны попробовать выполнить «Перестроить проект» или «Очистить проект» и посмотреть, соответствует ли созданный отладочный APK ожидаемому.

person Robert    schedule 31.05.2016
comment
Ага, вот что это было. Как только я удалил приложение и отключил Instant Run, я получил полный файл dex в следующий раз, когда я построил свой apk. - person David Argyle Thacker; 31.05.2016
comment
Если вы хотите использовать APK Analyzer для просмотра отладочного APK, вам не нужно отключать Instant Run. Если вы перейдете в Build ›Build APK, будет создан обычный APK для отладки, для которого не включен Instant-Run. - person James Lau; 17.06.2016