android 应用分为32位和64位两种,为了兼容性,一般应用两种都支持
但是,问题来了,包太大!!
怎样解决呢?
【解决方案】
用 android studio gradle 配置,实现分开编译32、64位版本
步骤如下:
1.在defaultConfig配置中,去除关于abiFilters的描述
defaultConfig {
applicationId "xxx.xxx.xxx"
versionCode 999009
versionName "9.9.9.9"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled true
manifestPlaceholders = [CHANNEL_NAME: "a00"]
// ndk {
// abiFilters 'armeabi-v7a','arm64-v8a'//'armeabi-v7a',armeabi, 'x86', 'x86_64', 'arm64-v8a'
// }
flavorDimensions "default"
}
2.通过productFlavorsi,分别定义32位 和64位版本,区别化处理,在其中添加externalNativeBuild标签,将对应的abiFilters放进去。
productFlavors {
a00 { // 通用包
}
b04 { // 华为包
}
a0032 { // 通用包
externalNativeBuild{

解决Android应用因同时支持32位和64位导致的包体积过大问题,可以通过Android Studio的Gradle配置实现分开编译。首先在defaultConfig中移除abiFilters,然后通过productFlavors定义32位和64位版本,分别设置对应的abiFilters。这样可以生成独立的编译任务,减小应用大小。
最低0.47元/天 解锁文章
1万+





