Android StudioとGradleを3.5に更新した後、次のエラーが発生します。
NDK解決結果:プロジェクト設定:Gradleモデルバージョン= 5.4.1、NDKバージョンは不明です
build-gradleのGradleバージョンを3.4.2に戻しましたが、役に立ちませんでした。
Android StudioとGradleを3.5に更新した後、次のエラーが発生します。
NDK解決結果:プロジェクト設定:Gradleモデルバージョン= 5.4.1、NDKバージョンは不明です
build-gradleのGradleバージョンを3.4.2に戻しましたが、役に立ちませんでした。
回答:
同様の問題があり、のImport project (Gradle, Eclipse, etc.)
代わりにを使用してプロジェクトを開くことで解決しましたOpen existing Android Studio project
。
左側のパネルから[ファイル]> [プロジェクト構造]> [SDKの場所を選択]からNDKをダウンロードし、[NDKの場所からダウンロード]を押します。
Androidスタジオをアップグレードした後も同じ問題が発生していました。パスを開いてNDKパスにlocal.properties
変更するだけですndk.dir
。
コード:
ndk.dir=D\:\\Android\\SDK\\ndk-bundle
sdk.dir=D\:\\Android\\SDK
プロジェクトでNDKを使用していませんが、同じ問題がありました。SDKのバージョンを最新のcompileSdkVersion 29に更新した後、問題は消えました
以前に回答がありましたが(モデレーターによって削除されたため)、一部で機能する回避策(ここにリストされている)があるが、回避策がすべての人で機能しない(具体的には:彼らは私のために働く)
関連するGoogleの問題はこちら:https : //issuetracker.google.com/issues/140403764
更新:今日(20190920)の時点で、根本的な問題が修正されたことを示しているため、今日(20190920)以降のGradleの将来のリリースには修正が含まれる予定です。
Update2:本日(20190926)問題のあるコードがAndroid Studioにあり、3.6リリースブランチに含まれているが、現時点で公開されているビルドでは利用できない(Android Studio 3.6 Canary 12は、この修正が行われる直前にリリースされました)。とにかく、更新するコンポーネントと注意を払うべきバージョンを知ることができます。Android Studio 3.6 Canary 13以降には、https://issuetracker.google.com/issues/140403764#comment13が必要です。
それまでは回避策を試すことができますが、ベンダーのバグがあり、回避策が機能しない場合は、ベンダーのパッチを待つ必要があります。
この問題は、今日Android Studio 3.5.0から3.5.1にアップグレードした後に初めて発生しました。
トップメニューの[ビルド]-> [プロジェクトの再構築]から再構築を行いました。
これは、問題の原因によってはすべての人にうまくいくとは限りませんが、私の場合はうまくいきました。試してみます。
(また、私はNDKを使用せず、これまでにダウンロードしたことがありません。それでもダウンロードしていません)
NDKを使用していない場合は、エラーを無視してください。
NDKをインストールして、違いがあるかどうかを確認しました。違いはありません(2 GBを超える未使用のNDKフォルダを除きます)。だから私はそれを削除しました(つまり、ndkフォルダーを削除し、以前に設定したNDK環境変数を削除します)。
私はに行くことによってそれを修正file > Invalidate Caches\Restart
IDE再起動し、問題が解決します
最近のAndroid Studioのアップグレード後、同じエラーメッセージが表示されました。私はここで他の答えを試しましたが、どれもうまくいきませんでした。しかし、@ Zahraの答えは、うまくいったことを私に示しました。
行く... [ファイル] - > [プロジェクト構造 「の下のAndroid NDK場所、」ドロップダウンをクリックして、「選択NDKが推奨DEFAULTオプション」。
デフォルトを選択する前に、少し異なるパスがそこにありました。SDKマネージャーを使用してどこかをアップグレードすると、パスが変更されたようです。
そして今、local.propertiesファイルにsdk.dir「と同じディレクトリに設定されているDEFAULT NDKが推奨」オプション。
同じ問題がありました。私の環境は:
SDKManagerでCMake 3.10をアンインストールしました。(インストールされているCMakeは3.6のみです)
Gradleの同期とビルドが成功しました。
(1)
android-gradle-plugin 3.1.2はCMake 3.10を使用しました。
android-gradle-plugin 3.1.2(または3.1。+)では、CMake 3.7以降のサポート機能がプレビュー機能です。
(gradle assembleDebug
またはの出力メッセージからgradle sync
。)
(2)
https://developer.android.com/studio/projects/add-native-code.html#use_a_custom_cmake_version
SDK Managerには、CMakeの3.6.0分岐バージョンとバージョン3.10.2が含まれています。build.gradleで特定のCMakeバージョンを設定しないプロジェクトは、CMake 3.6.0でビルドされます。
おそらく、この動作はandroid-gradle-plugin 3.3以降です。(それはCMake 3.10をダウンロードできるandroid-studio 3.3からです)
android-gradle-plugin 3.1.2は、インストールされたCMakeの最新バージョンを使用しました。
Macでも同じ問題が発生しました。
提案:.gradleフォルダーを強制的に再構築します。
これでもイベントログに「NDKバージョンが不明」と表示されますが、正常にビルドされ、問題は発生しません。(NDKをダウンロードしていません)
これにより、Android Studioは.gradleフォルダーを再構築して再ダウンロードし、プロセスで競合するファイルを修正します。
Android Gradleプラグインのバージョンを3.1.4から3.4.0に、Gradleのバージョンを4.4から5.1.1に同時に更新すると、問題は解決します。もちろん、SDKマネージャーを使用して最新のNDK(Side by Side)をダウンロードしました。
私の場合、SdkVersion 29にアップグレードして修正し、AndroidXに移行します。
アップグレード後、自分のプロジェクトの1つでまったく同じ問題が発生しました。local.propertiesファイルから行ndk.dir = D:\ Android \ SDK \ ndk-bundleを削除するだけで解決しました。
Bitbucketハイパーリンクを介してバージョン管理からプロジェクトをインポートした後、このエラー(およびその他いくつか)が発生しました。
インポートしたら、プロジェクトを閉じ、を使用して再インポートしFile > New > Import Project
ます。その後、すべてが正しく構築されました。(NDKパスはすでに適切に指定されており、新しいものとしてインポートした場合のみ機能します)
メタ:
Android Studio 3.5
Build #AI-191.8026.42.35.5791312, built on August 8, 2019
JRE: 1.8.0_202-release-1483-b49-5587405 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.6
Gradle 3.4.0
OK。最近、Android Studioの最新バージョンをダウンロードしましたが、同様のエラーが発生しました。それで最終的に私は新しいプロジェクトを作りました。Kotlin言語を選択してから、Jelly Beanを選択します(選択するオプションについて話します)。その後、全体の同期が開始されましたが、最初の同期が失敗し、最終的には再び自動同期され、すべてが機能し始めました。私は初心者なのでデフォルトのコード(テキスト)を変更しましたが、エラーメッセージは表示されませんでした。プレビューは大丈夫だったので、勉強を続けました。説明できませんでした。私は初心者です。ああ!それが機能するためには、インターネットに接続する必要があります。
私はこの問題を抱えていて、解決策のどれも私のために機能しませんでした。問題は、このエラーまたは警告が非常に広い理由で表示される可能性があることです。次の手順に従って、何が問題かを確認できます。
NDKがありません
Gradleがネイティブ依存関係のコンパイルを開始すると、「app」フォルダーに「.cxx」フォルダーが作成されます。そのフォルダー内に「ndk_locator_record.json」ファイルがあります。これは非常に奇妙なタイプのログファイルです。基本的に、GradleがNDKフォルダを見つけるためにチェックするすべてのパスです。NDKバージョン番号にエラーまたは不一致がある場合は、このファイルで確認できます。
NDKビルドが失敗する
以下のようないくつかの未知の理由(のGradleで多分バグ)のためにNDKビルドは、代わりにそれが失敗したことを示し、イベントログウィンドウの実際のエラーが表示されないndkBuildのための実行外部のネイティブビルドを....:Gradleの同期が失敗したことにより、以下のNDK解像度結果:プロジェクト設定:Gradleモデルバージョン= 5.4.1、NDKバージョンは不明です。
この場合、.cxx> ndkBuild> debug> x86(x64またはその他のcpuアーチ)に戻ります。このフォルダーには「json_generation_record.json」ファイルがあり、同じタイプのログです。通常、最後のエントリに実際のエラーがあります。 。たとえば、私にとっては
../../sdk/native/jni/OpenCV.mk: No such file or directory
make: *** No rule to make target '../../sdk/native/jni/OpenCV.mk'. Stop.
ここから、フードの下で何が問題になっているのかを見つけるための開始点があります。
ANDROID_NDK_HOME
か?NDKのsource.propertiesファイルには何がありますか?