Удалить неиспользуемые ресурсы с помощью Android Studio?

Я хочу удалить неиспользуемые ресурсы из моего проекта, чтобы уменьшить размер приложения. Есть ли способ сделать это, используя Android Studio IDE эффективно?

Ответ 1

Система сборки Gradle для Android поддерживает Resource Shrinking : автоматическое удаление ресурсов, которые не используются во время сборки, в упакованном приложении. В дополнение к удалению ресурсов в вашем проекте, которые на самом деле не нужны во время выполнения, это также удаляет ресурсы из библиотек, которые вы в зависимости от того, действительно ли они необходимы вашему приложению.

Например, ваше приложение использует Службы Google Play, чтобы, например, получить доступ к функциям Google Диска, и вы не используете Google Sign In, тогда это приведет к удалению различных доступных ресурсов для кнопок входа.

Примечание. Ресурс Сокращение работает только в сочетании с сокращением кода (например, ProGuard). Это способ удаления неиспользуемых ресурсов из библиотек; обычно используются все ресурсы в библиотеке, и только когда мы удаляем неиспользуемый код, становится очевидным, какие ресурсы ссылаются на оставшийся код.

Чтобы включить сокращение ресурсов, обновите свой тип сборки следующим образом:

android {
    ...

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

И Google недавно официально запустил Android Studio 2.0. Теперь они предоставляют возможность в самой IDE.

Щелкните правой кнопкой мыши на приложении → Рефакторинг → Удалить неиспользуемые ресурсы

Появится сообщение

введите описание изображения здесь

Отметьте флажок перед подтверждением, чтобы вы могли избавиться от неиспользуемых объявлений @id.

  • В терминах оптимизации APK рассмотрите Выбор формата.
  • Используйте WebP Изображения обеспечивают лучшее сжатие, чем JPEG или PNG. Изображения Lossy WebP поддерживаются в Android 4.0 (уровень API 14) и выше, а изображения без потерь и прозрачности WebP поддерживаются в Android 4.3 (API уровня 18) и выше.

Ответ 2

В студии android. Вы можете использовать Android Lint. Он будет показывать "Строки, Ресурс, импорт.." не использовать

Analyze -> Inspect Code -> Whole Project -> OK

Ответ 3

  • Является ли студия Android отображением стека вызовов неиспользуемых приложений или используемых приложений? Для меня важна стек вызовов. Это показывает?
  • Это работает на dll... это динамические библиотеки? Пример: я говорю 4 приложения и 10 общих библиотек. Все 4 приложения используют только 6 библиотек и не используют 4 библиотеки, которые являются неиспользуемым ресурсом и должны быть удалены, чтобы система освещалась. Поддерживает ли Android Studio 2.0 работу с dll?