gpt4 book ai didi

android - APK 大小对于只有按钮和微调器的 apk 来说很大

转载 作者:行者123 更新时间:2023-11-30 00:56:37 28 4
gpt4 key购买 nike

我制作了一个仅包含微调器和按钮的基本应用程序,但它的 Release模式大小为 1.4 MB,我认为这太大了,因为也有很多低于 200kB 的好应用程序可用

所以我在 gradle 文件中尝试了

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

首先我添加了 shrinkrsources true 但什么也没发生然后我添加了 minifyEnabled true 大小减少到 800 KB,

然后我通过按

尝试了 Android lint

ctrl + alt + shift +i

然后输入 Unused Resources,没有任何反应,

然后我在android studio中尝试了

Refactor > Remove Unused Resources

还是什么都没发生

所以我将扩展名从 .apk 更改为 .zip,然后将其解压缩,然后我发现了一个 res 文件夹,其中有很多文件夹,其中有很多从未使用过的图标,我想这些都是大尺寸的原因

那么如何在构建过程中删除这些图标以减小 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
}

最佳答案

您只能通过从 build.gradle 中删除 compile 'com.android.support:appcompat-v7:24.2.1 将大小减小到 200KB 左右。该库负责使应用程序向后兼容,因此添加了一堆额外的代码、样式和 Assets ,如图所示,它们在磁盘上总计约 4.5 MB。

with support library in disk on disk size

由于 proguard 压缩,此库最终约为您的应用程序大小的 700 KB。因此,您获得的 800KB 大部分是 support 库。

如果删除此库,您可以拥有 200KB 的应用程序,但它可能无法与所有 Android 版本兼容。

关于android - APK 大小对于只有按钮和微调器的 apk 来说很大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40066899/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com