将abiFilters添加到gradle属性

War*_*ock 17 android android-ndk android-gradle-plugin

我想在gradle.properties文件中添加ndk.abiFilters属性.现在我在build.gradle中有这个属性.这是我的build.gradle的一部分

buildTypes {
  debug { 
     ndk {
       abiFilters "x86", "armeabi-v7a", "armeabi"
       //abiFilters ABI_FILTERS
     }
   }
}
Run Code Online (Sandbox Code Playgroud)

这是我的gradle.properties文件的一部分

ABI_FILTERS = "x86", "armeabi-v7a", "armeabi"
Run Code Online (Sandbox Code Playgroud)

问题是gradle.properties中的String未正确转换以用于abiFilters.我试过很多变种,但没有运气.如何正确执行此操作的正确方法是什么?谢谢你的帮助.

War*_*ock 13

在gradle.properties中,您可以拥有例如:

ABI_FILTERS=armeabi-v7a;x86 //delimiter can be anything (change below)
Run Code Online (Sandbox Code Playgroud)

然后在build.gradle中(例如在debug buildType部分中):

ndk {
  abiFilters = []
  abiFilters.addAll(ABI_FILTERS.split(';').collect{it as String})
}
Run Code Online (Sandbox Code Playgroud)

现在每个开发人员都可以独立选择abi作为他当前的测试设备(gradle.properties在.gitignore中).

感谢Igor Ganapolsky开始提示.


小智 10

以下使用Gradle 2.3:

abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a'
Run Code Online (Sandbox Code Playgroud)