私はUdacityからサンプルプロジェクトを構築しています。これは今まではうまく機能していましたが、Android Studio 3.2.1にアップグレードした後、私は以下のビルドエラーに直面しています。
Gradleのバージョン:4.6
プロジェクトリンク: https://github.com/udacity/ud851-Sunshine/tree/student/S02.02-Solution-Menus
Could not find com.Android.tools.build:aapt2:3.2.1-4818971**. Searched in the following locations:
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/m2repository/com/Android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/m2repository/com/Android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/google/m2repository/com/Android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/google/m2repository/com/Android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/Android/m2repository/com/Android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/Android/m2repository/com/Android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar
https://jcenter.bintray.com/com/Android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom
https://jcenter.bintray.com/com/Android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar Required by:
project :app
どうすれば修正できますか?
google()
を追加するだけですbuild.gradle
buildscript {
repositories {
google() // <--here
jcenter()
}
}
allprojects {
repositories {
google() // <-- here
jcenter()
}
}
そして魔法を見なさい - 間違いは消えた。
プロジェクトgradle
のバージョンはかなり古いです。
classpath 'com.Android.tools.build:gradle:2.2.3'
そしてあなたはAndroid Studio v3.2.1を使用しているので、gradle
を更新します。
classpath 'com.Android.tools.build:gradle:3.2.0' // or 3.2.1 maybe
また、ご覧のとおり、次の場所でいくつかのパッケージを探していました。
file:/C:/Users/sandeepk2/AppData/Local/Android/Sdk/extras/m2repository/com/Android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom
これはおそらくgoogle()
をトップレベルのリポジトリとして追加するのを忘れたということです。 google()
を追加するだけです
ルートのbuild.gradle
のあなたのリポジトリに。
これを解決するために
まず、下のリンクから足りないJarファイルをダウンロードしてください。私はあなたがバージョン3.2.1-4818971がないのを見ます
フォルダ構造をAndroidからProjectに切り替えます。
アプリ内のlibsフォルダーに移動します - フォルダーを構築します。 (libsフォルダが存在しない場合は、アプリフォルダを右クリックして作成できます - [新規作成] - [ディレクトリ]を選択します。)
Downloads.jarファイルをlibsフォルダー内に貼り付けます。 jarファイルを右クリックし、下部にある[ライブラリとして追加]をクリックします。これにより、build.gradleに実装ファイル( 'libs/library_name.jar')が追加されます[ビルドファイルに手動で入力する必要はありません]。
上記を実行した後に同期したら、すべて問題ありません。このソリューションへのソースリンクは次のとおりです。 https://developer.Android.com/studio/command-line/aapt2#download_aapt2
上記の作業中に他の問題に遭遇した場合はお知らせください。
ええ、d4rkconがダウンロードを言ったように https://dl.google.com/dl/Android/maven2/com/Android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows。 jar しかし、もっと簡単にすることができます - このファイルをAndoid Studioが見つけようとしているディレクトリに置くだけです。 AndroidSDKフォルダーに/tools/build/aapt2/3.2.1-4818971/のようなディレクトリーがない場合は、それらを作成してからaapt2-3.2.1-4818971-windows.jarファイルを入れてください。
Build.gradleにGoogleリポジトリを追加します(プロジェクト:xxxxx)。
allprojects {
repositories {
google()
}
}
次のようにbuild.gradleを変更してください。
Android {
compileSdkVersion 26
buildToolsVersion "28.0.3"
defaultConfig {
applicationId "your package name here"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
testImplementation 'junit:junit:4.12'
implementation 'com.Android.support:appcompat-v7:26.1.0'
}
グラドルキャッシュをクリア
rm -rf $HOME/.gradle/caches/
すべての依存関係をダウンロードするために再同期します
ビルドスクリプト>リポジトリにgoogle()を追加します。
あなたのファイルツリーでも、コンパイルキーワードの代わりに実装を使用してください。
例.
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
implementation 'com.Android.support:appcompat-v7:25.3.1'
implementation 'com.Android.support:design:25.3.1'
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
implementation 'com.Android.support:support-v4:25.3.1'