0

Android Gradle Experimentalプラグインバージョン0.9.1を使用しています。私はABIごとに異なる静的ライブラリ検索パスを用意する必要がありますが、これを実現する方法はありますか?各ABIの異なるライブラリ検索パス

model { 

    android { 
     compileSdkVersion = 25 
     buildToolsVersion = '25.0.2' 

     defaultConfig { 
      minSdkVersion.apiLevel = 9 
      targetSdkVersion.apiLevel = 9 
      versionCode = 1 
      versionName = '1.0' 
     } 
     ndk { 
      platformVersion = 21 
      moduleName = "stob" 
      toolchain = 'clang' 
      abiFilters.addAll(['armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', 'mips', 'mips64']) //this is default 
      ldLibs.addAll(['android', 'log']) 
      stl = 'c++_static' 
      cppFlags.add("-std=c++11") 
      cppFlags.add("-fexceptions") 
      cppFlags.add("-frtti") 
      cppFlags.add("-I" + projectDir.getAbsolutePath() + "/build/ndkLibs/include") 
      //!!! Here I want to search for libs in ABI-specific directory 
      ldFlags.add("-L" + projectDir.getAbsolutePath() + "/build/ndkLibs/${getAbi()}") 
     } 

    } 
} 

どのように私はこのgetAbi()機能を実装することができます:ここに は、私は右いや、私はldFlagsを追加行で、私は特定のABIのパス名を含む名前の-Lコンパイラのキーを追加したいきbuild.gradleスニペットのですか?

+0

あなたは$ {targetPlatform.getNameを()}しようとしたことがありますか? – Alex

+0

@Alexはちょうど試しました: 'エラー:そのようなプロパティはありません:class:com.android.build.gradle.managed.NdkConfig'のtargetPlatform – igagis

+0

http:// toolsで説明されているような事前ビルドされたライブラリでのみ動作するようです.android.com/tech-docs/new-build-system/gradle-experimental#TOC-NDK-Dependencies – Alex

答えて

0

、私は非常にエレガントではないが、問題をまだ解決策を見つけた:

model { 
    android { 
     compileSdkVersion = 25 
     buildToolsVersion = '25.0.2' 

     defaultConfig { 
      minSdkVersion.apiLevel = 9 
      targetSdkVersion.apiLevel = 9 
      versionCode = 1 
      versionName = '1.0' 
     } 
     ndk { 
      platformVersion = 21 
      moduleName = "blahblah" 
      toolchain = 'clang' 
      abiFilters.addAll(['armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', 'mips', 'mips64']) //this is default 
      ldLibs.addAll(['android', 'log']) 
      stl = 'c++_static' 
      cppFlags.add("-std=c++11") 
      cppFlags.add("-fexceptions") 
      cppFlags.add("-frtti") 
      cppFlags.add("-I" + projectDir.getAbsolutePath() + "/build/ndkLibs/include") 
     } 
     abis { 
      create("armeabi") { 
       ldFlags.add("-L" + projectDir.getAbsolutePath() + "/build/ndkLibs/armeabi") 
      } 
      create("armeabi-v7a") { 
       ldFlags.add("-L" + projectDir.getAbsolutePath() + "/build/ndkLibs/armeabi-v7a") 
      } 
      create("arm64-v8a") { 
       ldFlags.add("-L" + projectDir.getAbsolutePath() + "/build/ndkLibs/arm64-v8a") 
      } 
      create("x86") { 
       ldFlags.add("-L" + projectDir.getAbsolutePath() + "/build/ndkLibs/x86") 
      } 
      create("x86_64") { 
       ldFlags.add("-L" + projectDir.getAbsolutePath() + "/build/ndkLibs/x86_64") 
      } 
      create("mips") { 
       ldFlags.add("-L" + projectDir.getAbsolutePath() + "/build/ndkLibs/mips") 
      } 
      create("mips64") { 
       ldFlags.add("-L" + projectDir.getAbsolutePath() + "/build/ndkLibs/mips64") 
      } 
     } 
    } 
} 
関連する問題