Warlock Warlock - 3 months ago 17
Android Question

Add abiFilters in gradle properties

I want to add ndk.abiFilters property in gradle.properties file. Now I've this property inside build.gradle.
Here is part of my build.gradle

buildTypes {
debug {
ndk {
abiFilters "x86", "armeabi-v7a", "armeabi"
//abiFilters ABI_FILTERS
}
}
}


Here's part of my gradle.properties file

ABI_FILTERS = "x86", "armeabi-v7a", "armeabi"


Problem is that String from gradle.properties is not correctly converted for use with abiFilters. I tried many variants but with no luck. What is the correct way how to do this correctly? Thank you for help.

Answer

In gradle.properties you can have for example:

ABI_FILTERS=armeabi-v7a;x86 //delimiter can be anything (change below)

Then in build.gradle there is (for example in debug buildType section):

ndk {
  abiFilters = []
  abiFilters.addAll(ABI_FILTERS.split(';').collect{it as String})
}

Now each developer can choose independetly abi for his current testing device (gradle.properties is in .gitignore).

Thanks Igor Ganapolsky for starting hint.