在 gradle 运送多个 APK

Shipping multiple APKs on gradle

根据壁画文档 http://frescolib.org/docs/multiple-apks.html ,我将流动代码添加到 gradle build:


android {
    ...
    splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi-v7a'
            universalApk false
        }
    }
    ...
}

但是在构建 android 项目时出现错误:
Error:Task with name 'packageRelease' not found in project ':app'.
我错过了什么吗?

我刚刚找到原因,我使用一个库来分析名为 bugly 的崩溃,所以我在我的 gradle 配置中添加了流动代码:

// project gradle.build
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.tencent.bugly:symtabfileuploader:1.3.9'

}
// app gradle.build
apply plugin: 'bugly'
bugly {
   appId = 'xxxxxx'
   appKey = 'xxxxx'
}
dependencies {
...
compile 'com.tencent.bugly:crashreport:1.2.9'
}

而且会导致task not found,但我还是不知道怎么解决。

如果您查看 https://github.com/BuglyDevTeam/Bugly-Android,他们会解释如何设置 ABI 过滤器,并且您必须指定 android.useDeprecatedNdk=true。不确定旧的 NDK 是否可以用于 ABI 拆分,但您可以看看它是否有效。

如果不行,你可以试试他们的option 2手动包含预编译的库,这应该与ABI拆分兼容。

您也可以在他们的 GitHub 页面上提出有关此问题的问题。