Размер APK велик для apk, имеющего только кнопку и счетчик

#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 внутри файла 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.