gpt4 book ai didi

android - 在构建我的主要 Android 应用程序时,我的库带来了许多类

转载 作者:行者123 更新时间:2023-12-03 05:46:46 25 4
gpt4 key购买 nike

我创建了我的第一个库并将库构建为 .aar,然后将 .aar 文件部署到我的私有(private)工件服务器中。

实际上是 .aar 文件大小仅为 18kb ,但是当我在我的其他应用程序中使用该库作为依赖项时。我的 apk 文件大小增加了大约 3.5MB .

这是我在 APK 分析中发现的。
enter image description here

将我的库添加到应用程序依赖项后,然后构建 apk。在我的 apk 中突然出现新文件 classes3.dex。这个文件带来了很多包,但我真的只需要 gdn 包。

如何排除那些所有不必要的包/类?

这是我的库 build.gradle 文件

apply plugin: 'com.android.library'

android {
compileSdkVersion 26

defaultConfig {
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

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

}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
compileOnly 'com.android.volley:volley:1.1.0'
compileOnly 'com.android.support:appcompat-v7:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

最佳答案

你的lib有依赖关系,也有依赖关系等......
这是您最终 apk 中嵌入的内容,以确保每个 API 都能够运行。

现在您可以使用 删除非常必要的内容并删除不必要的内容。前卫工具。它将确保仅保留所需的依赖项,因为在您的代码中的某处,会调用此依赖项树。它将删除不必要的。

关于android - 在构建我的主要 Android 应用程序时,我的库带来了许多类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49694274/

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