Error:(30, 0) 引数 [ディレクトリ 'libs'] のメソッド implementation() が t のオブジェクトで見つかりませんでした。
プロジェクトの依存関係としてライブラリを統合する場合、プロジェクトアプリで次のようなエラーが発生することがあります。
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler タイプのオブジェクトで、引数 [ディレクトリ 'libs'] に対する implementation() メソッドが見つかりませんでした。
ファイルを開く
図のように
解析結果 この問題は、使用しているGradleのバージョンが低く、例えばGradle2.2.2では実装をサポートしていないことが原因であり、gradle2.2.2でサポートするコンパイルに置き換える必要がある。従って、エラーが見つからない場合は、Gradleが3.0.1などの高バージョンで、コンパイルに対応していないことが考えられますので、実装やapiリファレンスに置き換える必要があります。
つまり、Gradle 2.2.2がコンパイルに対応しているのは
Gradle 3.0.1では実装とapiに対応しています
解決策
app/build.gradle の dependencies の implementation を compile に、testImplementation を testCompile に、androidTestImplementation を androidTestCompile に置き換えてください。その結果、以下のようになりました。
技術的な追加ポイント:実装とapiの説明
実装は、コンパイル時に使用する依存関係を隠すことができ、実行時にすべてのモジュールから依存関係が見えます。ただし、すべてのリモート依存関係(リモートmavenライブラリ)の場合、実装は依存関係を隠さない。
apiは自身の依存関係を隠すことができないので、コンパイルと一致する。
例:アプリはライブラリAに依存し、ライブラリAはライブラリBに依存する。
<テーブル ライブラリAの場所 ライブラリーBの場所 アプリはライブラリBのクラスにアクセスできるのか 依存関係を隠蔽する効果が得られるか ローカル ローカル いいえ はい ローカル リモート いいえ はい リモート リモート はい いいえ
Googleはビルド時間を短縮する目的で、実装とapiを導入した。
依存関係が隠されている場合、ライブラリが変更されると、そのライブラリとそれに依存するモジュールのみを再コンパイルする必要があります。依存関係が隠されていない場合、その依存関係のチェーンにあるすべてのモジュールの再コンパイルが必要です。
関連
-
ADBサーバーがACKしない ソリューション
-
com.android.tools.build:gradle:3.0.0 が見つかりませんでした。
-
android:ems="10 "の意味。
-
AndroidでSPAN_EXCLUSIVE_EXCLUSIVEスパンが長さ0にできない場合、EditTextでコンテンツを削除する
-
Android Studioで「Error:SSL peer shut down incorrectly」というエラーが表示される。
-
Android マルチメディア MediaPlayerの使用方法詳細
-
android.view.inflateexception バイナリ xml ファイル行例外の解決方法
-
AndroidでListViewのデータが表示されない不具合
-
Android ロギングシステムドライバ ロガーソースコード解析
-
ERROR ANDROID_SDK_ROOT は未定義です。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
呼び出しは、ユーザーによって拒否される可能性のある許可を必要とします。
-
警告: 構成 'compile' は廃止され、'implementation' と 'api' に置き換わりました。
-
Android RecyclerViewで「アダプターが接続されていません」と表示され、問題解析がスキップされる。
-
エミュレータです。PANIC: AVDのシステムパスが壊れています。ANDROID_SDK_ROOTの値を確認してください。
-
Androidです。AAPT2 エラーの正しい対処法:ファイルリソースのリンクに失敗した
-
Androidのellipsizeプロパティ(余分なテキストは楕円で表示される)
-
ConstraintLayoutにおけるChainとGuidelineの利用について
-
サービスを利用した特別な放送受信者の登録
-
AndroidでデータをExcelファイルに書き出す方法
-
android AVD開始時刻エラー