web-dev-qa-db-ja.com

abiFiltersをgradleプロパティに追加します

Gradle.propertiesファイルにndk.abiFiltersプロパティを追加したい。これで、build.gradle内にこのプロパティができました。ここに私のbuild.gradleの一部があります

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

これが私のgradle.propertiesファイルの一部です

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

問題は、gradle.propertiesの文字列がabiFiltersで使用するために正しく変換されないことです。私は多くのバリエーションを試しましたが、運はありませんでした。これを正しく行う正しい方法は何ですか?ご協力ありがとうございます。

16
Warlock

Gradle.propertiesには、たとえば次のものを含めることができます。

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

次に、build.gradleにあります(たとえば、debug buildTypeセクション):

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

各開発者は、現在のテストデバイスに個別にabiを選択できるようになりました(gradle.propertiesは.gitignoreにあります)。

開始のヒントをくれたIgor Ganapolskyに感謝します。

13
Warlock

Gradle 2.3での動作は次のとおりです。

abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a'
10
Wing Poon

gradle.propertiesファイル

ABI_FILTERS = ["armeabi", "x86"]

build.gradleファイル

ndk {
  abiFilters = []
  abiFilters.addAll(ABI_FILTERS)
}
1
chan

これを使用してください:abiFilters.addAll(['armeabi','armeabi-v7a', 'x86'])

NDKのGoogleサンプルでこの設定の例を確認できます。 https://github.com/googlesamples/Android-ndk/blob/master/native-media/app/build.gradle

1
IgorGanapolsky