webdevqa.jp.net

Android Studio 3.2.1アップグレード後のビルドエラー

私は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

どうすれば修正できますか?

66
sandeep kakkar

Android Studio 3.2.1アップデートの場合

ルートレベルにgoogle()を追加するだけですbuild.gradle

buildscript {
    repositories {
        google()   //  <--here
        jcenter()
    }
 }

allprojects {
    repositories {
        google()   //  <-- here
        jcenter()
    }
}

そして魔法を見なさい - 間違いは消えた。

149
Nikunj Paradva

プロジェクト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のあなたのリポジトリに。

8
ʍѳђઽ૯ท

これを解決するために 

まず、下のリンクから足りないJarファイルをダウンロードしてください。私はあなたがバージョン3.2.1-4818971がないのを見ます

https://dl.google.com/dl/Android/maven2/com/Android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971-windows.jar

フォルダ構造をAndroidからProjectに切り替えます。

FolderStructure

アプリ内のlibsフォルダーに移動します - フォルダーを構築します。 (libsフォルダが存在しない場合は、アプリフォルダを右クリックして作成できます - [新規作成] - [ディレクトリ]を選択します。)

LibsFolder

Downloads.jarファイルをlibsフォルダー内に貼り付けます。 jarファイルを右クリックし、下部にある[ライブラリとして追加]をクリックします。これにより、build.gradleに実装ファイル( 'libs/library_name.jar')が追加されます[ビルドファイルに手動で入力する必要はありません]。

AddAsLibrary

上記を実行した後に同期したら、すべて問題ありません。このソリューションへのソースリンクは次のとおりです。 https://developer.Android.com/studio/command-line/aapt2#download_aapt2

上記の作業中に他の問題に遭遇した場合はお知らせください。

6
d4rkcon

ええ、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ファイルを入れてください。

6
Alesha170

Build.gradleにGoogleリポジトリを追加します(プロジェクト:xxxxx)。

allprojects {
    repositories {
        google()
    }
}
2
Jim Lin

次のように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'
}
1

グラドルキャッシュをクリア 

rm -rf $HOME/.gradle/caches/

すべての依存関係をダウンロードするために再同期します

1
do01

ビルドスクリプト>リポジトリに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'
0
fMadTech