#android
#Android
Вопрос:
Я создал базовое приложение, содержащее только счетчик и кнопку, но его размер в режиме выпуска составляет 1,4 МБ, что, я думаю, слишком велико, потому что также доступно множество хороших приложений размером менее 200 КБ
Итак, я попробовал в файле gradle
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
Сначала я добавил shrinkrsources true, но ничего не произошло, затем я добавил minifyEnabled true размер уменьшен до 800 КБ ,
Затем я попробовал Android lint, нажав
ctrl alt shift i
и при вводе неиспользуемых ресурсов ничего не произошло,
затем я попробовал в android studio
Рефакторинг> Удаление неиспользуемых ресурсов
, по-прежнему ничего не произошло
поэтому я изменил расширение с .apk на .zip, а затем извлек его, затем я нашел папку res, в которой много папок, в которых много значков, которые никогда не используются, я думаю, что это причина большого размера
Итак, как удалить эти значки во время сборки, чтобы уменьшить размер apk,
неиспользуемые значки внутри папки res> drawable
Модуль build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
defaultConfig {
applicationId "com.example.com"
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName "1.0"
resConfigs "en"
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:24.2.0'
}
проект build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Комментарии:
1. добавили ли вы зависимости material design для своего проекта?? эти значки взяты из material design dependency
2. @sanjeetkumarSingh Я так не думаю ,
3.
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:24.2.0' }
4. пожалуйста, поделитесь своим
app
build.gradle
файлом папки5. @NiteshVerma добавил
build.gradle
файл
Ответ №1:
Вы можете уменьшить размер примерно до 200 КБ, удалив compile 'com.android.support:appcompat-v7:24.2.1
из своего build.gradle
. Эта библиотека отвечает за обратную совместимость приложений, поэтому добавьте кучу дополнительного кода, стиля и ресурсов, которые составляют около 4,5 МБ на диске, как показано.
Эта библиотека из-за proguard
сжатия в конечном итоге составляет около 700 КБ для размера вашего приложения. Таким образом, 800 КБ, которые вы получаете, — это в основном support
библиотека.
Если вы удалите эту библиотеку, у вас может быть приложение размером 200 КБ, но оно может быть несовместимо со всеми версиями Android.