2017-08-30 11 views
0

AndroidスタジオからC++ライブラリをビルドしていますが、ソースツリーを.externalNativeBuildフォルダで汚染したくありません。Android NDK CMakeビルドディレクトリを指定する方法

Javaバイナリの場合、どこに着陸させるかを指定することは可能でしょうか。buildDir

私はそのような-B引数ことを使用してみました:指定されたフォルダが作成され、副産物ビルドの一部が含まれているよう

externalNativeBuild 
    { 
     cmake 
     { 
      arguments '-DANDROID_PLATFORM=android-14', 
        '-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=gnustl_static', 
        '-BC:/Dev/AndroidCMake' 
     } 
    } 

は、それがある程度機能します。ただし、ビルドが壊れており、.externalNativeBuildフォルダがまだ作成されています。これにはいくつかのファイルも含まれています。そのフォルダーはツールチェーンのどこか他の場所に指定されているようです。ここで

は私が取得していますエラーです:

Error:Expected json generation to create 'C:\Dev\Android\TestApp\app\.externalNativeBuild\cmake\debug\armeabi-v7a\android_gradle_build.json' but it didn't

JSONファイルが指定された-Bフォルダに上陸したが、ツールチェーンがまだそのほかのフォルダにそれを期待していること。

+1

ソースツリーを汚染しますか?あなたのコードはVCSを使ってバージョン化されていますか?これに無視ルールを追加するだけです。これはネイティブコードをコンパイルするために生成される唯一のフォルダなので、ただ1つのルールです – ahasbini

+0

はいgitという名前のVCSを使用してマイコードをバージョン管理します。それを聞きました? 実際に.gitignoreにいくつかのエントリを追加しましたが、それでもやはりフォルダはいくらかハードコードされていることが残念です。 – Slion

答えて

0

私は自分自身の質問に対する答えにチャレンジしました。 明らかに、そのbuildStagingDirectoryプロパティを使用する必要があります。 私はまだそれをテストしているが、私はそれがトリックを行うとかなり確信しています。

関連する問題