我正在将多个.so文件用于不同的ABI(armv7a,x86_64,x86)。我正在尝试生成aar文件来包装这些文件。目前,我正在为所有abi获取单个aar文件,并且aar的大小非常大,然后它将创建大型apk。我需要在build.gradle中声明abi的基础。我在build.gradle中尝试了split标签,但是它不起作用。
答案 0 :(得分:0)
我认为最干净的方法是只有1个aar,然后按体系结构拆分apk,但是您可以将本机库打包到具有不同口味的aar版本中。
在您的图书馆build.gradle
中:
android {
...
flavorDimensions "abi"
productFlavors {
x86 {
dimension "abi"
}
arm {
dimension "abi"
}
}
}
然后在您的项目中创建flavor目录:
project/
|-- mylibrary/
|-- src/
|-- main/ <- all your library code here
|-- arm/
| |-- jniLibs/
| |-- armeabi/
| |-- libsomething.so
|-- x86/
|-- jniLibs/
|-- x86/
|-- libsomething.so