2016-04-13 5 views
14

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

+1

[посмотреть на это] (http://cyrilmottier.com/2014/08/26/putting-your-apks-on-diet/) –

+0

Щелкните правой кнопкой мыши ресурс и нажмите «Найти вариант использования». он будет отображаться, если он используется или нет. если нет, то удалите его безопасно. – androidnoobdev

+0

см. Это: http: //stackoverflow.com/questions/6373482/remove-all-unused-resources-from-an-android-project –

ответ

25

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.

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

Это побуждающие

enter image description here

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

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

работает ли он с чертежами | mipmaps? – Amir

+0

@Amir Да, это так. –

+0

Таким образом, мой размер приложения изменился с 39.98mb до 39.99mb. Но я не могу себе представить, что у нас нет неиспользуемых ресурсов (особенно во всех библиотеках, которые мы используем). – 4ndro1d

0

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

Analyze -> Inspect Code -> Whole Project -> OK 
0
  1. Является андроид студия показывает стек вызовов ООН-используемых приложений или используемых приложений? Для меня важна стек вызовов. Это показывает?
  2. Это работает на dll's ... это динамические библиотеки? Пример: У меня есть 4 приложения и 10 общих библиотек. Все 4 приложения используют только 6 библиотек и не используют 4 библиотеки, которые являются неиспользуемым ресурсом и должны быть удалены, чтобы система освещалась. Работает ли Android Studio 2.0 для dll?
Смежные вопросы