【发布时间】:2015-11-25 13:49:22
【问题描述】:
我正在尝试设置 Android Studio 和 Gradle 以使用本机代码构建我们的 android 应用。
由于我们的依赖关系,我们使用 GCC 4.8 编译 armeabi、armeabi-v7a 和 x86。
我尝试通过以下方式指定工具链和 abi:
model {
android.ndk {
moduleName = "my_native"
toolchain = "gcc"
toolchainVersion = "4.8"
cppFlags.add("-std=c++11 -fexceptions -frtti")
stl = "gnustl_static"
}
android.productFlavors {
create("arm") {
ndk.with {
abiFilters.add("armeabi")
}
}
create("armv7") {
ndk.with {
abiFilters.add("armeabi-v7a")
}
}
create("x86") {
ndk.with {
abiFilters.add("x86")
}
}
}
}
指定工具链可以正常工作,但 Gradle 会在同步时忽略 abiFilters 并为所有失败的 ABI 创建任务,因为在最新版本的 NDK(我相信是 r10e)中 arm64-v8a 不支持 GCC 4.8。
我正在使用gradle-experimental 插件的0.4.0 版本和Gradle 包装器的2.8 版本。 Android Studio 版本为1.5.0(最新稳定版)。
如何正确指定与一组 ABI 一起使用的工具链?
【问题讨论】:
标签: android android-studio gradle android-ndk