【问题标题】:How to generate multiple aar based on abi?如何基于abi生成多个aar?
【发布时间】:2019-04-03 11:55:19
【问题描述】:

我正在为不同的 ABI(armv7a、x86_64、x86)使用多个 .so 文件。我正在尝试生成 aar 文件来包装这些文件。目前,我正在为所有 abi 获取一个 aar 文件,并且 aar 的大小非常大,然后它会创建大尺寸的 apk。我需要在 build.gradle 中声明 abi 的基础的多个 aar。我在 build.gradle 中尝试了拆分标签,但它不起作用。

【问题讨论】:

  • 我认为你并不真正想要不同版本的 aar,而是不同版本的 apk。 “我在 build.gradle 中尝试了拆分标签,但它不起作用” - 你的意思是你尝试了 apk 或 aar 的拆分吗?
  • 我正在使用 .so 文件构建 aar,我将在单独的应用程序项目中进一步使用它。我只想在abi的基础上制作不同版本的aar。我尝试在 build.gradle 中使用拆分标签。

标签: android build.gradle aar


【解决方案1】:

我认为最简洁的方法是只有 1 个 aar,然后按体系结构拆分您的 apk,但是您可以将本机库打包到不同版本的 aar 中。

在你的图书馆build.gradle

android {
    ...

    flavorDimensions "abi"
    productFlavors {
        x86 {
            dimension "abi"
        }

        arm {
            dimension "abi"
        }
    }
}

然后在您的项目中创建风味目录:

project/
|-- mylibrary/
    |-- src/
        |-- main/ <- all your library code here
        |-- arm/
        |   |-- jniLibs/
        |       |-- armeabi/
        |           |-- libsomething.so
        |-- x86/
            |-- jniLibs/
                |-- x86/
                    |-- libsomething.so

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 2015-09-05
    • 2021-05-03
    相关资源
    最近更新 更多