私はいくつかの既存のAndroid.mkベースのネイティブコードを新しいAndroidスタジオアプリにプッシュしようとしています。 「エラー:エラー:リンカーコマンドが終了コード1で失敗しました(呼び出しを見るために-vを使用します)」というメッセージを表示するリンクエラーがいくつかあります。 CMakeを使うときは、変数CMAKE_VERBOSE_MAKEFILEを設定してこれをデフォルトの動作にすることができます。 ndk-buildで同様のことをする方法はありますか? Android Studioのコンテキストでnvk-buildをコマンドラインから-vまたはV = 1(最適なものがわからない)で実行しようとするのは難しいようです。Android Studioでは、ndk-buildでCMAKE_VERBOSE_MAKEFILEに相当するものは何ですか?
編集:以下の応答で述べたように
、これは「引数」キーワードを使用してのGradleから可能でなければなりません。アプリのbuild.gradleファイル:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.adth.jwc.testproj4"
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags ""
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
ndkBuild {
path "$projectDir/jni/Android.mk"
arguments "V=1"
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
}
これはエラーメッセージを生成し、「エラー:この私の解釈はモジュールのこのバージョンである(0〜16)の方法を見つけることができませんでした引数のndkBuild()[build_95llvy1tc979yxena3spokoe8 $ _run_closure1 $ _closure3 @ 34646897]をタイプorg.gradle.api.Projectのルートプロジェクト 'TestProj4'に追加します。 "
私はまたいくつかのバリエーションを試しましたが、これらのバリエーションはすべて本質的に同じエラーを生成します。 build.gradleファイルの "arguments"キーワードの正しい配置は何ですか?
この解釈はうまくいかないようです。上記の編集された質問をご覧ください。 – JackOfAllTrades
私の答えを更新しました。私は、ndk-buildが印刷している情報を抑止するために、--infoでgradleを実行する必要があると考えています。 –
--infoは実際にGradleに多くの情報をダンプさせますが、上記の引数エラーは処理しません。 – JackOfAllTrades