it-swarm.com.ru

Ошибка: (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'
}
123
fathurzero

У меня такая же проблема. Решается добавлением URL для отсутствующего хранилища в файле build.gradle:

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

Вот и все.

120
mdew

Просто удалите "testCompile" junit: junit: 4.12 '"из файла build.gradle:

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. добавьте его снова (выберите кнопку «+» ниже, выберите «библиотека dep.», найдите «junit», нажмите OK). Нажмите OK, чтобы применить изменения. Примерно через 30 секунд ваша синхронизация будет работать нормально.

Надеюсь, у вас это тоже получится: D 

24
Hasaan Ali

Это не в состоянии получить библиотеку junit.

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

После добавления вышеуказанной строки в блок Android в файле build.gradle это решило проблему . Это может быть из-за того, что в вашей студии 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, которая находится в папке пользователя .gradle

13
HPbyP

Вот что я сделал, чтобы решить ту же проблему. Я нахожусь за брандмауэром, и это та же проблема, что и у вас, я полагаю…. Поэтому я попытался удалить 

testCompile 'junit:junit:4.12' line 

но это не сработало для меня ... Я пытался добавить следующие строки кода:

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

Даже это не сработало для меня.

Я попытался удалить (-) и прочитать (+) Junit4.12 из библиотечных зависимостей в разделе «Настройки модуля» .... Тем не менее, у меня это не сработало.

Пробовал синхронизировать и перестраивать проект несколько раз. Все еще не работал для меня.

Наконец, я вручную загрузил файл Junit4.12.jar с веб-сайта mvnrepository. Я поместил этот jar-файл в рабочую область Android в папке Project внутри папки libs . Затем перейдите в Настройки модуля> Вкладка «Зависимости»> (+)> Зависимость файла> В окне «Путь к сплайту», разверните папку «libs» и вы найдете внутри него файл Jar, который вы скопировали . Выберите файл и нажмите «ОК» Теперь удалите предыдущую версию junit4.12 из списка зависимостей.

У вас должна быть одна запись "libs\junit-4.12.jar" в списке зависимостей . Теперь нажмите «ОК».

Теперь Gradle перестроит проект, и вам нужно идти вперед.

Надеюсь это поможет!

8
Murtuza K

Я попробовал все, но единственное, что помогает мне решить проблему, это удалить строку 

testCompile 'junit:junit:4.12'

из приложения класс.

6
Ortal D

Это происходит потому, что HTTPS заблокирован Proxy . Попробуйте перейти с 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

Вы используете прокси ? Если это так, проблема может быть в отсутствующей конфигурации сети для https в вашем файле gradle.properties

AndroidStudio автоматически помещает настройки прокси-сервера по умолчанию в файл gradle.properties в вашем проекте, но только для http и забывает https.

Таким образом, ваш файл gradle.properties должен содержать как http, так и https config:

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 - одна из них, а остальные - 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: Я скачал все файлы jar из репозитория maven: 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 в этот каталог и ошибка джунта исчезла.

3
Roy Selim

У меня была такая же проблема.

  • 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

Reds' В.В.

2
Vaisakh Venugopal

В основном эта проблема возникает, когда вы обновляете свой SDK, во время создания проекта сборка Gradle завершается неудачно. Если вы добавите maven и jcenter репозитории в ваш build.gradle (Модуль: приложение), ваша проблема будет решена.

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

Это две строки, которые вы должны добавить после 

apply plugin: 'com.Android.application' 

Так выглядит ваш код после добавления этих двух строк

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/( Я могу опубликовать только две ссылки ... ;-))

и скопировал эти файлы в «Android Studio\gradle\m2repository». Вы должны создать структуру ниже "m2repository", так как она ниже "maven2" . Возможно, есть больше отсутствующих файлов, но в настоящее время сборка 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
  1. Будьте уверены, что вы не за прокси! 
  2. Если вы настроили свой Android Strudio для работы с прокси, обязательно Отключите эту опцию в настройках Android Studio 
  3. Перейдите к gradle.properties в представлении Android в Android Studio и Удалите все настройки прокси
  4. Синхронизируйте ваш gradle сейчас
  5. Наслаждайтесь кодированием!
1
Catluc

Перейдите в «Файл» -> «Структура проекта» -> «Приложение» На вкладке «Свойства». В "Библиотечном хранилище" поле put ' 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

В моем случае это просто потому, что есть интернет. Может быть, какой-нибудь прокси или брандмауэр Wi-Fi или другие вещи, которые, вероятно, нарушают соединение (потому что, когда я захожу по ссылке вручную здесь chrome сказал, что файл может повредить ваш компьютер). Поэтому я попытался использовать другое соединение, такое как точка доступа с телефона.

1
Fityan Aula

Если вы находитесь за прокси. Android Studio добавит прокси для http в Gradle, но не для https . Добавьте настройки прокси для https в gradle.properties

1
KennyXu

Просто подключитесь к Интернету, запустите Android Studio и откройте свой проект . Во время Gradle Sync он загрузит зависимости из Интернета (все файлы JAR). Это решило это для меня . Нет редактирования в файле 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

Затем откройте файл build.gradle.ftl с помощью notepad ++ или notepad И замените все 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
Abdullah Al Hasan
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' }
    }
    

    в файл build.gradle уровня проекта внутри блока buildscript {}

  • затем добавьте 

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

    в файл build.gradle уровня проекта

  • следующий пункт добавляет 

    repositories {
        jcenter()
        mavenCentral()
    }
    

    к модулю сборки уровня внутри buildTypes{ }

1
mrmailperson

В моем случае решение было добавить 

repositories {
    mavenCentral()
}

к модулю сборки уровня внутри buildTypes {}

Предположим, что без него AndroidStudio не может загрузить junit из maven.

0
Anton Vaysberg

Если ни один из этих ответов для вас не подходит, попробуйте очистить кэш/перезапуск Android Studio. Это было единственное, что сработало для меня:

В меню «Файл» я выбрал «отключить кеширование/перезапустить».

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

0
Mandi Eaton

Когда вы не находитесь за брандмауэром компании, использование Android Studio естественным образом решит эту проблему. Но если вы находитесь за брандмауэром компании, эта проблема возникнет. Поэтому загрузка файлов будет обходным путем. В вашей домашней сети обновление Android Studio решит проблему и попросит вас удалить те файлы, которые вы создали вручную. Просто нажмите ОК, так как их можно удалить.

0
Roy Selim

Возможно, он не может получить его в указанном онлайн-месте для jar.check этой части 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.

0
Shrinivasa manjithaya

Если какой-либо из них выдает ошибку «failed-to-resol-junitjunit4-12», перейдите к настройке HTTP PRoxy и проверьте ваше интернет-соединение. если вы используете какой-либо прокси-сервер в школе/колледже, установите настройку прокси-сервера и протестируйте соединение, если оно прошло успешно, затем примените настройку и запустите снова. После этого вы получите разрешение всех ошибок. Я пытаюсь это, и я решаю все ошибки. Примечание: не нужно удалять Junit .... !! Umair

0
Umair

Вы должны обратиться к Java в Windows.

  1. Откройте этот адрес: «Панель управления\Система и безопасность\Система»
  2. С левой стороны выберите «Расширенные настройки системы»
  3. На вкладке «Дополнительно» выберите «Переменные среды».
  4. В открывшемся окне ниже «системные переменные» выберите «Новый».
  5. Задайте имя переменной Java_HOME, а значение переменной - адрес, который вы установили Java. Например, для меня это C:\ProgramFiles\Java\jdk1.8.0_66. После этого нажмите кнопку «ОК».
  6. Перезапустите Android Studio
0
amin

Измените репозиторий на mavenCentral(), за исключением jcenter() все будет в порядке

0
user7123375

Просто попробуйте скомпилировать и запустить ваш проект при активном интернет-соединении. 

у меня сработало в андроид студии 1.5 Ubuntu 15.04

0
Oliver Muthomi

В моем случае это было очень зашито! Помимо добавления правильного прокси (я работаю в компании), мне нужно было добавить две другие библиотеки в зависимости:

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-студия пыталась использовать кэшированную версию JUnit с неверным хеш-кодом. . Решением этой проблемы было удаление каталога C:\Android\caches\modules-2 и перезапуск сборки.

Надеюсь это поможет!

0
garritfra