web-dev-qa-db-ja.com

エラー:(23、17)解決に失敗しました:junit:junit:4.12

Android Studioで新しいプロジェクトを作成するたびに、常に次のように表示されるのはなぜですか。

エラー:(23、17)解決に失敗しました:junit:junit:4.12?

依存関係からtestCompile 'junit:junit:4.12'を削除しても問題ありません。

build.gradle

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.okedroid.myapplication"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.0.1'
}
127
fathurzero

私は同じ問題を抱えていました。 build.gradleファイルに見つからないリポジトリのURLを追加することで解決しました。

Android {
    [...]
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    [...]
}

それでおしまい。

121
mdew

Build.gradleファイルから「testCompile 'junit:junit:4.12'」を削除するだけです。

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'//remove this line and sync again... worked for me

androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.Android.support', module: 'support-annotations'}) //if available, also delete these two lines

compile 'com.Android.support:appcompat-v7:23.0.1'
 }

私のために働いて、私は幸せです! :)

これはこの質問の実際の答えではないことを忘れないでください。これは、上記の行を削除したときに機能するためです。

34
Naveed Jamali

ファイル - >プロジェクト構造に移動します。以下のウィンドウが開きます。

enter image description here

そこから:

  1. junitライブラリを削除します(junitを選択して下の「 - 」ボタンを押します)
  2. 再度追加してください(下の[+]ボタンをクリックし、[ライブラリ部門]を選択し、[junit]を検索し、[OK]を押します)。 OKを押して変更を適用します。約30秒後に、あなたのgradle syncはうまく機能するはずです。

それがあなたにとってもうまくいくことを願っています:D

24
Hasaan Ali

それはjunitライブラリを取得することができません。

repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }

Build.gradleファイルのAndroidブロック内に上記の行を追加した後、問題を解決しました。これはあなたのAndroidスタジオがjunitライブラリを持っていないことが原因である可能性があります。

15
Mona

build.gradleファイルにリポジトリを追加します

repositories {
    maven { url 'http://repo1.maven.org/maven2' }
}
15
Gaurav

おそらくあなたのgradleは不完全です、私はあなたが以下を加えることを勧めます

Android{
    repositories {
    maven { url 'http://repo1.maven.org/maven2' }
}

しかし場合によってはうまくいかないこともありますが、それはあなたのgradleのあなたの依存関係から完全に削除することができます。

ユーザーフォルダにある削除グラドルフォルダ条件でAndroidスタジオを再インストールすれば大丈夫だろうと思います.gradle

13
HPbyP

これは私が同じ問題を解決するためにしたことです。私はファイアウォールの内側にいますが、これは私が想定しているものと同じ問題です。だから私は削除しようとしました

testCompile 'junit:junit:4.12' line 

しかし、それは私のために働きませんでした。以下のコードを追加してみました。

repositories {
    maven { url 'http://repo1.maven.org/maven2' }
}

それでも私にとってはうまくいきませんでした。

モジュール設定の下のライブラリの依存関係から( - )と(+)Junit4.12を削除しようとしました。それでもそれは私にはうまくいきませんでした。

プロジェクトの同期と再構築を数回試行しました。それでも私にはうまくいきませんでした。

最後に私がしたのはmvnrepository WebサイトからJunit4.12.jarファイルを手動でダウンロードすることでした。このjarファイルをlibsフォルダーの中のProjectフォルダーの下のAndroids Workspaceに置きます。次に、モジュール設定>依存関係タブ>(+)>ファイル依存関係> Sleect pathウィンドウの下にある 'libs'フォルダを展開すると、そこにコピーしたJarファイルが見つかります。ファイルを選択して「OK」をクリックします。今すぐ依存関係のリストからjunit4.12の前のバージョンを削除します。

Dependenciesリストに1つのエントリ"libs\junit-4.12.jar"があるはずです。それでは「OK」をクリックしてください。

これで、Gradleはプロジェクトを再構築します。あなたはうまくいくはずです。

お役に立てれば!

8
Murtuza K

私はすべてを試してみるつもりですが、私が問題を解決するのを助ける唯一の事はラインを削除することでした

testCompile 'junit:junit:4.12'

アプリgradelから。

6
Ortal D

HTTPSがプロキシによってブロックされているために発生します。デフォルトのjcenter(HTTPSを使用)からHTTPに変更してみてください。

repositories {
     jcenter()
}

後に

repositories {
    jcenter {
        //Default one is HTTPS
        url "http://jcenter.bintray.com/"
    }
}

すべてのプロジェクトに対して上記の手順を繰り返します。

allprojects {
  repositories {
    jcenter {
        url "http://jcenter.bintray.com/"
    }
  }
}
5
jafarmlp

プロキシを使っていますか ?もしそうなら、問題はあなたのgradle.propertiesファイルで https のための行方不明のネットワーク設定にあることができます。

AndroidStudioはデフォルトのプロキシ設定をプロジェクト内のgradle.propertiesファイルに自動的に設定しますが、httpの場合のみhttpsを忘れます。

だから基本的にあなたのgradle.propertiesファイルはhttpとhttpsの両方の設定を含む必要があります:

systemProp.http.proxyPassword=xxx
systemProp.http.proxyHost=xxx
systemProp.http.nonProxyHosts=xxx
systemProp.http.proxyUser=xxx
systemProp.http.proxyPort=xxx

systemProp.https.proxyPassword=xxx
systemProp.https.proxyHost=xxx
systemProp.https.nonProxyHosts=xxx
systemProp.https.proxyUser=xxx
systemProp.https.proxyPort=xxx
4
Štarke

おそらくあなたは代理人です。私には思われ、私のモバイルテザリング(プロキシなし)再構築プロジェクトを使用してエラーが消えました。元の接続に戻り(プロキシ付き)、エラーなしで再構築します。

4
Asem Daaboul

新しいプロジェクトを作成した後にこのエラーが発生しました。 build.gradleファイルで、私はこれを持っていました:

jcenter()

私はそれを次のように変更するとエラーは消えました。

jcenter {
    url "http://jcenter.bintray.com/"
}

これは、私がファイアウォールの内側にいてURLを指定するとhttpsからhttpに変更されるためと考えられます。

4
Al Lelopath

エラーはjarファイルが見つからないことが原因で発生します。私の簡単な解決策は、C:¥Program Files¥Android¥Android Studio¥gradle¥m2repository ...に解決されないすべてのファイルをコピーすることです。(あなたのファイルパスは異なる場合があります)。私は解決することができない約6つの依存関係を得ました、junitはそれらの1つであり、他はcomとorgとjavaxです。私はファイアウォールの内側にいるので、リポジトリのコードを追加しても、Android Studioはそれにアクセスしていないようです。私はMavenリポジトリに行き、解決しないすべてのファイルをダウンロードしました。問題は解決し、Gradleはエラーなしで同期しました。しかし、私はたった1日の経験しかない認定された初心者なので、これがそれをするための正しい方法であるかどうか私はしません。

エラーの例:com:squareup:javawriter:2.1.1を解決できません

ステップ1:パスC:\ Program Files\Android\Android Studio\gradle\m2repository\com\squareup\javawriter\2.1.1 \を作成しました

ステップ2:私はMavenリポジトリからすべてのjarファイルをダウンロードしました: http://repo1.maven.org/maven2/com/squareup/javawriter/2.1.1/

ステップ3:私は手動でこのディレクトリからすべての.jarファイルをダウンロードしました

ステップ4:私はそれらをC:\ Program Files\Android\Android Studio\gradle\m2repository\com\squareup\javawriter\2.1.1 \にコピーしました

私はjunitを含めて解決しなかったすべてのファイルに対してこれを繰り返しました。

Junitの場合、私が作成したディレクトリは次のとおりです。C:¥Program Files¥Android¥Android Studio¥gradle¥m2repository¥junit¥junit¥4.12その後、このディレクトリ内にjunit-4.12.jarをコピーするとjunitエラーが消えました。

3
Roy Selim
  1. あなたがプロキシの背後にいないことを確認してください!
  2. あなたがあなたのAndroid Strudioをプロキシで動作するように設定した場合、Android Studioの設定の下でそのオプションを必ず無効にしてください
  3. Android StudioのAndroidビューでgradle.propertiesに移動し、すべてのプロキシ設定を削除します
  4. 今すぐグラドルを同期
  5. コーディングを楽しんでください。
2
Catluc

私は同じ問題を抱えていました。

  • 1オプション:junit 4.12.jarをダウンロードしてlibフォルダにコピーし、Android Studioを再起動します。新しいプロジェクトを作成する必要はありません。

  • 2つのオプション:インターネットに接続している新しいプロジェクトを作成し、新しく作成されたプロジェクト内のすべてのJavaおよびXMLコードをコピーします。この問題が恒久的に解決されるという利点

2
Akash Jaiswal

「ファイル」 - >「プロジェクト構造」 - >「依存関係」に移動します。 - > junit:unit:4.12

右側のドロップダウンからコンパイルを選択します。簡単です。

参考画像: http://i.stack.imgur.com/5WvS3.png

レッズのVV

2

ほとんどの場合、プロジェクト作成時にSDKを更新したときにGradleのビルドが失敗するため、この問題が発生します。 maven jcenter リポジトリを build.gradle(Module:app) に追加すれば問題は解決します。

repositories {
    maven { url 'http://repo1.maven.org/maven2' }
    jcenter { url "http://jcenter.bintray.com/" }
}

これらはあなたが後に追加しなければならない2行です

apply plugin: 'com.Android.application' 

これは、これら2行を追加した後のコードの外観です。

apply plugin: 'com.Android.application'

 repositories {
        maven { url 'http://repo1.maven.org/maven2' }
        jcenter { url "http://jcenter.bintray.com/" }
    }

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.okedroid.myapplication"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}
2
saibaba vali

私のAndroid Studioのインストールは完全にオフラインです。このような問題を解決するために、私はProcess Monitorを使用しました。 「Android Studio\gradle\m2repository」内にいくつかのファイルが欠けていることがわかりました。からすべてのファイルをダウンロードしました

  1. http://repo1.maven.org/maven2/junit/junit/4.12/
  2. http://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/ /
  3. repo1.maven.org/maven2/org/hamcrest/hamcrest-parent/1.3/(私は2つのリンクしか投稿できません... ;-))

そしてこれらのファイルを "Android Studio\gradle\m2repository"にコピーしました。 "mven2"の下にあるので、 "m2repository"の下に構造を作成する必要があります。足りないファイルがもっとあるかもしれませんが、現時点では少なくともGradleのビルドはエラーなしで終了しています。

2
Tasko

これであなたのbuild.gradleを変えてください、私のためにうまく働きます:

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 23
    buildToolsVersion "22.0.1"
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    defaultConfig {
        applicationId "YOUR PACKAGE NAME"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.0.0'
}

追加しました

    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }

Android

2
user4790312

[ファイル] - > [プロジェクト構造] - > [アプリケーション]タブの[プロパティ]に移動します。 "Library Repository" field に ' http://repo1.maven.org/maven2 'と入力し、Okを押します。それは私のためにそのように修正されました。これでプロジェクトはコンパイル中です。

1
M.M

この問題に直面した場合は、以下を変更することで完全に解決できます。

build.gradle(プロジェクト:...)

これを置き換えます

    buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:2.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenCentral()

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
1
HPbyP

testCompile 'junit:junit:4.12'行を削除します。

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.Android.support:appcompat-v7:23.0.1'
 }

その後、プロジェクトをもう一度同期します。

1
Muhammad Salman

Android Studioがgradleと同期していなかった理由がわかりませんでした。私のVPNが気に入らないことがわかりました。

1
Ben

私の場合は、インターネット接続だからです。たぶんいくつかのプロキシや無線LANのファイアウォール、あるいはおそらく接続を妨害する他のもの(私が手動でリンクにアクセスすると here chromeがファイルがあなたのコンピュータに害を及ぼすかもしれないと言ったので)。だから私は私の携帯電話からテザリングホットスポットのような別の接続を使用してみました。

1
Fityan Aula

あなたがプロキシの後ろにいるならば。 Android StudioはGradleにhttpのプロキシを追加しますが、httpsのプロキシは追加しません。 httpsのプロキシ設定をgradle.propertiesに追加します。

1
KennyXu

インターネットに接続してAndroid Studioを起動し、プロジェクトを開くだけです。 Gradle Syncの間、それはインターネット(All JAR Files)から依存関係をダウンロードします。これで解決しました。 Gradleファイルでの編集はなく、すべてAndroid Studioによって自動的に行われました。 Android Studio 2.2 :)を使用する

また、Java JDK 1.xをインストールすることを忘れないでください(7または8はすべてうまくいきます)。

1
Rupanshu Raman

私は同じ問題を抱えていたが、別の問題を抱えていた。

私の他の問題はGradleのビルドが遅すぎるということでした!

私はこれを行うことによって私の問題を解決しました

あなたがmdewが好きなら、あなたはこれをするためにあなたのプロジェクトを作成しているときはいつでもこれをする必要があります

あなたがmavenにデフォルトのオプションを設定したいのであれば

これを行う:

フォルダに移動します。

C:\Program Files\Android\Android Studio\plugins\Android\lib\templates\gradle-projects\NewAndroidProject\root

次に、notepad ++またはnotepadでbuild.gradle.ftlファイルを開き、すべてのjcenter()mavenCentral()に置き換えます。

編集:なぜその下落が投票したのですか?あなたはそれが好きではありませんか?

1
Display name

これを試して:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    //testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.3.0'
    compile 'com.Android.support:design:23.3.0'
    compile 'com.google.code.gson:gson:2.2.4'
}
1
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
       compile 'com.Android.support:appcompat-v7:23.1.1'
}

注:testCompileの 'junit:junit:4.12'行を削除して私の問題を解決しました。

1
hasan sabbir

多くの答えを見てくださいが、何もうまくいきません。幸いなことに、簡単な解決策を見つけました。 junit4.12にコメントするか、削除する必要はありません。問題はここにあります:

- androidTestCompile files('libs/junit-4.12.jar')

この部分は、あなたのプロジェクトのライブラリでファイルを探すためのパスを示しています。理由はわかりませんが、何らかの理由でデフォルトでは空です。私の場合、パスは次のとおりです。

C:\Users\arzakhar\AndroidStudioProjects\MyApp\app\libs

もちろんbuild.grandle(Module.app)というコードでこの行を削除できますが、後で必要になるかもしれません。これが解決策です。

1 - junit-4.12.jarをダウンロードするか、あなたのAndroid Studioフォルダーからコピーしてください。通常はそこにあるはずです。私の場合、それはここにありました:

C:\Program Files\Android\Android Studio\lib

上記のディレクトリに(あなたのプロジェクトに)

2 - 削除して追加

here you should re-enter the root to your junit-4.12.jar

3 - 再構築

4 - 一生懸命働きます

1
Arthur Zakharov

私は自分の状況に適した完璧な解決策を提案したいと思います。

  • 最初に、追加を確認してください

    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    

    buildscript {}ブロック内のプロジェクトレベルのbuild.gradleファイルへ

  • それから加えて

    allprojects {
        repositories {
            maven { url 'http://repo1.maven.org/maven2' }
        }
    

    プロジェクトレベルのbuild.gradleファイルへ

  • 次のポイントは追加されています

    repositories {
        jcenter()
        mavenCentral()
    }
    

    buildTypes{ }内のモジュールレベルのbuild-gradleへ

1
mrmailperson

私の場合、解決策は追加することでした

repositories {
    mavenCentral()
}

buildTypes {}内のモジュールレベルのbuild-gradleへ

それがないとAndroidStudioはmavenからjunitをダウンロードできないとします。

0
Anton Vaysberg

これらの答えのどれもあなたのためになければ、Android Studioのキャッシュ/再起動をクリアしてみてください。それが私のために働いた唯一のものでした:

ファイルメニューのオプションから、「キャッシュを無効にする/再起動」を選択しました。

https://teamtreehouse.com/community/gradle-project-sync-failed-7

0
Mandi Eaton

会社のファイアウォールの内側にいない場合は、Android Studioを使用すると自然に問題が解決します。しかし、企業のファイアウォールの内側にいる場合は、この問題が発生します。そのため、ファイルをダウンロードすることが回避策になります。あなた自身のホームネットワークでは、Android Studioをアップデートすると問題が解決し、手動で作成したファイルを削除するように求められます。削除しても安全なので、OKを押してください。

0
Roy Selim

それはjarの指定されたオンラインの場所でそれを取得することができないかもしれません。build.gradleのこの部分(プロジェクトのためのgradleファイル)をチェックしてください。その場所にアクセスできない可能性があります(ファイアウォールまたはその他の問題)

repositories{
//some location like jcenter() or maven{.some location  }
}

これをしなさい:瓶をダウンロードしなさい

repositories {
        //previous codes untouched
        flatDir {
            dirs 'location to jar'
        }
}

それがうまくいくことを願っています;)

0
Mukul Anand

私は同じ問題を抱えていたが、インターネットに接続した状態でプロジェクトを開くと、gradleが同期を構築し、自動的に関連ファイルがダウンロードされ、テストにJ Unitプラグインが必要になったとき

いずれかのエラーが発生した場合は "failed-to-resolve-junitjunit4-12"その後HTTP PRoxyの設定に行き、あなたのインターネット接続を確認してください。学校/大学でプロキシサーバーを使用している場合は、プロキシ設定を設定して接続がテストされ、設定が適用されてから再度グラドルを実行すると、すべてのエラーを解決できます。私はこれを試してみて、私はすべてのエラーを解決します。注:Junit ....を削除する必要はありません。ウマイル

0
Umair

あなたはウィンドウズにJavaをあてがうべきです。

  1. このアドレスを開きます: 'コントロールパネル\システムとセキュリティ\システム'
  2. 左側から「システムの詳細設定」を選択してください。
  3. 詳細設定タブで、「環境変数」を選択します。
  4. 開いたウィンドウの「システム変数」の下にある「新規」を選択します。
  5. 変数名をJava_HOMEに、変数値をJavaをインストールしたアドレスに設定します。たとえば、私にとってはC:\ProgramFiles\Java\jdk1.8.0_66です。その後、OKボタンをクリックしてください。
  6. Android Studioを再起動します
0
amin

mavenCentral()以外はリポジトリをjcenter()に変更

0
user7123375

インターネットに接続した状態でプロジェクトをコンパイルして実行するだけです。

それはアンドロイドスタジオ1.5 Ubuntu 15.04で私のために働いた

0
Oliver Muthomi

私の場合、それはとても有線だったのです!正しいプロキシを追加する以外に(私は社内で働いています)、他の2つのライブラリを依存関係に追加する必要がありました。

compile 'com.Android.support:appcompat-v7:25.0.1'
compile 'com.Android.support:design:25.0.1'

その後、 "junit:junit:4.12"のエラーが解決されました。 build.gradle内のすべての依存関係が、プロジェクト構造内でインポートしたものと一致することを確認してください

0
Boshra N

この答えは少し遅れるかもしれませんが、数時間かけて答えを調べても何もうまくいきませんでした。辛抱強くエラーログを読んだ後、私はAndroid Studioが間違ったハッシュコードでJUnitのキャッシュバージョンを使おうとしたことに気づきました。これを解決するには、C:\Android\caches\modules-2ディレクトリを削除してビルドを再開します。

お役に立てれば!

0
garritfra