2 つのモジュールを含む ndk プロジェクトがあります。
- abwrenderer - ネイティブ ライブラリ モジュール
- app - ネイティブと Java のハイブリッドで、Java を abwrenderer に接着します
今朝、AS 2.0 Preview 5 にアップデートしたところ、いくつかの gradle 関連の問題が発生しました。
gradle-2.10 にアップグレードし、gradle-experimental:0.6.0-alpha5 に切り替えました。デバッグしようとすると、ndk ビルドがトリガーされ、次の問題が発生します。
エラー: エラー: C:\android\projects\foo\abwrenderer\build\intermediates\binaries\debug\obj\armeabi-v7a\libabwrenderer.so: そのようなファイルまたはディレクトリはありません
私が gradle-2.9 & gradle-experimental:0.6.0-alpha3 を使用していたとき、ライブラリはこのディレクトリに構築されました。今朝のアップグレード後、ライブラリは次の場所にあります: C:\android\projects\foo\abwrenderer\build\libs\abwrenderer\shared\armeabi-v7a\debug
ライブラリをビルドするプロジェクトの依存関係の検索場所を更新する方法はありますか?
参考までに、abwrenderer プロジェクトへの依存関係を次のように定義します (build.gradle (app)):
android.sources {
main {
jni {
source {
srcDirs 'src/main/jni'
}
dependencies {
project ":abwrenderer" buildType "debug" linkage "shared"
}
}
jniLibs {
source {
srcDirs 'src/main/libs'
}
}
}
}
また、abwrenderer プロジェクトの build.gradle は次のとおりです。
apply plugin: "com.android.model.native"
model {
android {
compileSdkVersion = 23
}
android.ndk {
moduleName = "abwrenderer"
cppFlags.addAll(["--std=c++11",
"-fexceptions",
"-frtti"])
ldLibs.addAll(["android", "EGL", "GLESv3", "log", "dl"])
stl = "c++_static"
debuggable = true
}
android.sources {
main {
jni {
exportedHeaders {
srcDir "src/main/jni"
}
}
}
}
}
キャッシュを無効にして再起動し、クリーン ビルドを実行しました。