Удалить неиспользуемые ресурсы с помощью Android Studio?
Я хочу удалить неиспользуемые ресурсы из моего проекта, чтобы уменьшить размер приложения. Есть ли способ сделать это, эффективно используя Android Studio IDE ?
3 ответов
система сборки Gradle для Android поддерживает Resource Shrinking :
автоматическое удаление неиспользуемых ресурсов во время сборки в упакованном приложении. В дополнение к удалению ресурсов в проекте, которые фактически не нужны во время выполнения, это также удаляет ресурсы из библиотек, от которых вы зависите, если они на самом деле не нужны вашему приложению.
например, ваше приложение использует сервисы Google Play, например, для доступа к функциям Google Диска, и вы в настоящее время не используется вход в Google, тогда это удалит различные привлекаемые активы для кнопок входа.
Примечание: сокращение ресурсов работает только в сочетании с сокращением кода (например, ProGuard). Вот как он может удалить неиспользуемые ресурсы из библиотек; обычно используются все ресурсы в библиотеке, и только когда мы удаляем неиспользуемый код, становится очевидным, на какие ресурсы ссылаются из оставшихся код.
чтобы включить сжатие ресурсов, обновите тип сборки следующим образом:
android {
...
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
и google недавно запустил Android Studio 2.0 официально, теперь они дают возможность в самой среде IDE.
щелкните правой кнопкой мыши на app --> Refactor -- > удалить неиспользуемые ресурсы
предложит
установите флажок предварительно подтвердить действие, чтобы вы могли получить избавьтесь от неиспользованных @id
слишком деклараций.
- С точки зрения оптимизации APK рассмотрим выбор формата то так же.
- использовать WebP изображения обеспечивают лучшее сжатие, чем JPEG или PNG. Изображения с потерями WebP поддерживаются в Android 4.0 (уровень API 14) и выше, а изображения без потерь и прозрачные WebP поддерживаются в Android 4.3 (уровень API 18) и выше.
в Android studio. Вы можете использовать Android Lint. Он покажет " строки, ресурс, импорт..- не использовать!--2-->
Analyze -> Inspect Code -> Whole Project -> OK
- показывает ли android studio стек вызовов неиспользуемых приложений или используемых приложений? Для меня стек вызовов важен. Это заметно?
- работает ли он на dll ...то есть динамические библиотеки? Пример: у меня есть 4 приложения и 10 общих библиотек. Все 4 приложения используют только 6 библиотек и не используют 4 библиотеки, которые являются неиспользуемым ресурсом и должны быть удалены, чтобы сделать систему легкой. Работает ли Android Studio 2.0 для dll ?