Search code examples
androidandroid-ndkandroid-gradle-plugin

Add abiFilters to 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.


Solution

  • 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.