Ant NDKプロジェクトをAnt/ndk-buildからGradle/CMakeに移行しようとしています。私はWindowsのコマンドラインからビルドしたいと思っています。私はAndroid Studioを使いたくありません。今はほとんど稼働してだが、そこに一つのことを解決するために、左だ、それは次のようである:私のCMakeFiles.txt
でGradleとCMakeを使ってAndroidビルドにリリースとデバッグのサブディレクトリを追加する
私はこのように私のプロジェクトに静的リンカライブラリが含まれているいくつかの他のディレクトリをインポートしています:
add_subdirectory("../foobar/src" "../foobar/obj/${ANDROID_ABI}")
問題は、バイナリファイルのディレクトリを指定することです。私は既に${ANDROID_ABI}
を使って、オブジェクトとライブラリファイルがアーキテクチャによって分離されていることを確認しています。しかし、これは十分ではありません.Gradleもデバッグとリリースのビルドを行い、上の行でデバッグとリリースのオブジェクトとライブラリファイルがまったく同じディレクトリに書き込まれます。これはGradleが私が言うたびに各静的ライブラリを再構築させます./gradlew build
。
どうすればこの問題を解決できますか? Gradle/CMakeが現在デバッグ用にビルドされているかリリース用にビルドされているかを教えてくれるCMakeLists.txt
に変数がありますか?私はすでに次のことを試してみたが、それはうまくいきませんでした!そうBUILDMODE
は常にRelease
になりますのGradleとAndroidのプラグインを構築する際に
IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
set(BUILDMODE "Debug")
ELSE()
set(BUILDMODE "Release")
ENDIF()
CMAKE_BUILD_TYPE
は常に= DEBUGのようです。
私はこれについて数時間前から考えていましたが、かなりアイデアがありません...残念ながら、CMakeのadd_subdirectory
のバイナリファイルの引数を省略することもできないようです。
私は本当にここで何をすべきかわからないので、どんな助けも大歓迎です。