Разработка
Чистка Android-проекта для уменьшения размера APK, ускорения сборки и улучшения опыта разработки
В этом руководстве мы рассмотрели основные методы оптимизации Android-проектов для достижения меньшего размера APK, ускорения сборки и улучшения опыта разработки.
В любом программном проекте разработка — это непрерывный процесс, и со временем кодовая база растет и становится все сложнее. Эта сложность может привести к замедлению времени сборки, увеличению размера APK и менее продуктивному опыту разработки. В этом руководстве мы рассмотрим некоторые методы поддержания чистоты и эффективности вашего Android-проекта.
1. Удалите неиспользуемые ресурсы
Один из самых простых способов уменьшить размер APK — удалить неиспользуемые ресурсы. О них легко забыть, а со временем они могут накапливаться. Если вы хотите удалить все неиспользуемые ресурсы из вашего проекта, вы можете воспользоваться командой Refactor > Remove Unused Resources из меню Android Studio.
![]()
Это позволит найти и удалить все неиспользуемые ресурсы из вашего проекта.
Например, если у вас есть неиспользуемый drawable, как здесь:
![]()
То вы можете удалить его с помощью команды Refactor > Remove Unused Resources из меню Android Studio.
![]()
Другой способ удалить неиспользуемые ресурсы — использовать shrinkResources в файле build.gradle. Это не приведет к фактическому удалению ресурсов из вашего проекта, но удалит их из APK, когда он будет собран.
Давайте посмотрим пример использования shrinkResources в файле build.gradle:
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
debug {
isMinifyEnabled = false
isShrinkResources = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
Затем создайте apk без shrinkResources и проанализируйте его.
![]()
Здесь видно, что большая часть размера apk обусловлена большим изображением, которое мы добавили. Теперь давайте добавим shrinkResources в наш файл build.gradle и снова создадим apk:
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
debug {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
![]()
Здесь вы можете увидеть, что размер apk был значительно уменьшен с помощью shrinkResources.
Примечание: не забывайте, что R8 также может помочь уменьшить размер приложения. Но не для удаления неиспользуемых ресурсов, а для удаления неиспользуемого кода.
Еще один способ удалить, а точнее, найти неиспользуемые ресурсы — использовать линтер. Напомним, что линтер (например, Ktlint) — это инструмент статического анализа кода, который проверяет ваш Android-проект на наличие потенциальных ошибок и улучшений оптимизации. Он также находит неиспользуемые ресурсы и показывает их в разделе «Неиспользуемые ресурсы» отчета.
Сгенерировать отчет lint можно, выполнив в терминале следующую команду:
./gradlew lint
После этой команды lint сгенерирует отчет, в котором вы сможете увидеть неиспользуемые ресурсы в разделе «Неиспользуемые ресурсы».
![]()
Но имейте в виду, что их удаление зависит от вас, lint покажет только неиспользуемые ресурсы.
2. Удаление неиспользуемого кода
Удаление неиспользуемого кода — еще один способ уменьшить размер вашего APK. Возможно, он не так эффективен, как удаление неиспользуемых ресурсов, но все же может помочь. По крайней мере, это сделает вашу кодовую базу чище и проще в обслуживании.
Чтобы найти неиспользуемый код, который в основном состоит из неиспользуемых классов, методов и полей, вы можете обнаружить их с помощью команды Analyze > Run Inspection by Name > Unused Symbol из меню Android Studio.
![]()
![]()
Она найдет неиспользуемый код в вашем проекте и покажет его во всплывающем окне. Там вы сможете увидеть неиспользуемый код и удалить его.
Предположим, что у нас есть неиспользуемый класс, например, такой
class X {
private val y = 0
fun z() = Unit
}
Тогда вы можете обнаружить его с помощью Analyze > Run Inspection by Name > Unused Symbol и нажать кнопку безопасного удаления справа.
![]()
После этого вы увидите, что неиспользуемый класс был удален из вашего проекта.
Более того, еще одна большая часть приложения обычно приходится на библиотеки, которые мы используем. Если библиотеки не используются и остаются в проекте, они увеличивают размер apk. Чтобы найти неиспользуемые библиотеки, можно воспользоваться командой Analyze > Run Inspection by Name > Unused Library из меню Android Studio.
![]()
Она найдет неиспользуемые библиотеки в вашем проекте и покажет их во всплывающем окне. Там вы сможете удалить их.
Например, добавим библиотеку «glide» в наш проект. Затем запустим этот анализ.
implementation("com.github.bumptech.glide:glide:4.16.0")
Затем, когда вы запустите Analyze > Run Inspection by Name > Unused Library, вы увидите, что библиотека glide не используется в проекте, и вы можете удалить ее, нажав кнопку detact.
![]()
В этом руководстве мы рассмотрели основные методы оптимизации Android-проектов для достижения меньшего размера APK, ускорения сборки и улучшения опыта разработки. Я надеюсь, что это поможет вам в ваших проектах и сделает их меньше и чище.
-
Разработка1 неделя назадДаем ИИ видеть SwiftUI: Xcode Preview MCP на практике — проблемы и надежды
-
Новости2 недели назадВидео и подкасты о мобильной разработке 2026.39
-
Новости3 недели назадВидео и подкасты о мобильной разработке 2026.38
-
Новости7 дней назадВидео и подкасты о мобильной разработке 2026.40
