2016-10-16 4 views
1

Я сделал базовое приложение, содержащее только spinner и кнопку, но его размер в режиме релиза составляет 1,4 МБ, что, по моему мнению, слишком велико, потому что множество хороших приложений доступно ниже 200 КБ такжеРазмер APK большой для apk, имеющего только кнопку и прядильщик

Так я пытался в Gradle файле

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

Сначала я добавил shrinkrsources правда, но ничего не произошло, то я добавил minifyEnabled истинный размер уменьшен до 800 Кбайт,

Тогда я попробовал Android пуха нажав

Ctrl + Alt + Shift + I

и набрав Неиспользованные ресурсы, ничего не произошло,

тогда я Попробовал в андроида студии

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

, до сих пор ничего не произошло

так я изменить расширение, с .apk на .zip и затем экстрагируют тогда я нашел рес папку, которая оказывает много папок, которые оказывают огромное количество иконок, которые никогда не являются б, я думаю, что эти причины большого размера

так как удалить эти значки во время сборки так, чтобы уменьшить размер APK,

res folder inside apk file

unused icons inside res > drawable folder

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 
} 
+0

Вы добавили конструкцию материалов для вашего проекта?эти значки от зависимостей от дизайна материалов – Sanjeet

+0

@sanjeetkumarSingh Я так не думаю, –

+0

'dependencies { compile fileTree (dir: 'libs', include: ['* .jar']) compile 'com.android.support : appcompat-v7: 24.2.0 '} ' –

ответ

1

Вы можете только уменьшить размер около 200KB, удаляя compile 'com.android.support:appcompat-v7:24.2.1 из вашего build.gradle. Эта библиотека отвечает за совместимость с обратными приложениями, поэтому добавьте кучу дополнительного кода, стиля и активов, которые, как показано, составляют около 4,5 МБ на диске.

with support libraryin diskon disk size

Эта библиотека заканчивается из-за proguard сжатия до них около 700 КБ до размера вашего приложения. Таким образом, вы получаете 800KB в основном support библиотеки.

Если вы удалите эту библиотеку, у вас может быть приложение на 200 КБ, но оно может быть несовместимо со всеми версиями Android.

Смежные вопросы