我試圖設置Android Studio和Gradle以使用本機代碼構建我們的android應用程序。在Gradle中指定toolchainVersion和productFlavors
由於我們的依賴關係,我們使用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")
}
}
}
}
指定工具鏈工作正常,但同步時搖籃忽略abiFilters和其未按GCC 4.8在不支持arm64-v8a
所有的ABI創建任務最新版本的NDK(我相信r10e)。
我正在使用Gradle包裝器的gradle-experimental
插件和版本2.8
的版本0.4.0
。 Android Studio版本爲1.5.0
(最新版本)。
如何正確指定工具鏈與一組ABI一起使用?
我不想創建一個胖APK,你的答案不涉及指定工具鏈。 – Jonas
在我的回答中,我假定工具鏈版本已經在android.ndk模塊中指定:'toolchainVersion =「4.8」'。但無論如何,這將是沒有用的,如果你不創建胖APK。我會進一步調查問題。如果你有任何解決方案,我會很感激。 – Alex