我目前正在利用 GeckoView 开发一个小项目。尽管从一个空项目开始,仅将 GeckoView 添加到依赖项(不添加任何资源或图像),APK 大小已膨胀到超过 500 MB。经过分析,lib 文件夹中的 .so 文件似乎对这个大小有很大影响。我不确定为什么会出现这种情况以及如何减少这种情况。有什么特定的模式或方法我应该使用吗?
APK分析 我还尝试制作aab文件 他们都不为我工作。我是这个领域的初学者,我真的不知道如何解决这个问题。
我的应用程序 gradle 文件
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.jetbrains.kotlin.android)
}
android {
namespace = "com.example.pank"
compileSdk = 34
defaultConfig {
applicationId = "com.example.pank"
minSdk = 29
targetSdk = 34
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
buildFeatures {
viewBinding = true
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
}
dependencies {
implementation(libs.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout)
var geckoViewVersion = "112.0.20230406114409"
implementation("org.mozilla.geckoview:geckoview:$geckoViewVersion")
}
设置.gradle:
pluginManagement {
repositories {
google {
content {
includeGroupByRegex("com\\.android.*")
includeGroupByRegex("com\\.google.*")
includeGroupByRegex("androidx.*")
}
}
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven {
url = uri("https://maven.mozilla.org/maven2/")
}
}
}
rootProject.name = "Test"
include(":app")
我通过添加来减少捆绑包大小
ndk {
abiFilters.add("armeabi-v7a")
}
进入 build.gradle.kts 中
release
中的 buildTypes