Сбой сборки Android Studio Gradle. Ошибка: причина: peer не аутентифицирован
Я уже создал один проект, и gradle синхронизация успешно работала.
Когда я пытаюсь создать другой проект, он терпит неудачу и выдает сообщение об ошибке
Gradle '<ProjectName>' project refresh failed
Error:Cause: peer not authenticated.
У меня setup SDK, gradle дал gradle параметры VM
-Dhttp.proxyHost=<proxy.address> -Dhttp.proxyPort=<port> -Dhttp.proxyUser=<username> -Dhttp.proxyPassword=<password>
И на вкладке прокси-сервера HTTP я также предоставил правильные варианты.
Кто-нибудь может мне помочь?
Ответы
Ответ 1
Это было решение, которое сработало для меня. Публикация здесь, если это кому-то помогает.
Gradle версия была неправильной в файле build.gradle проекта.
У меня был
classpath 'com.android.tools.build:gradle:1.0.0'
но это должно быть
classpath 'com.android.tools.build:gradle:2.1.0'
Примечание:
Это должно быть обновлено до новейшей версии инструментов gradle, которые можно найти здесь
Android Studio также рекомендует последнюю версию плагина.
Ответ 2
НЕ измените источник пакета на http вместо https. Прекратите использование этих обходных решений и устраните основную причину.
Хотите ли вы использовать драйв в своем приложении? Потому что, как вы получаете эксплойт driveby в своем приложении!
Источником этой проблемы является хранилище ключей Certificate Authority. Как-то dpkg, похоже, пытается создать хранилище ключей Java (/etc/ssl/certs/java/cacerts), прежде чем он действительно установит Java, для чего требуется инструмент для создания магазина. Результатом является пустое хранилище:
Чтобы исправить это, правильно постройте хранилище ключей со всеми доверенными сертификатами ЦС.
Запустите это с помощью sudo:
sudo rm /etc/ssl/certs/java/cacerts
sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure
Вы должны увидеть длинный список добавленных сертификатов (*.pem) и, наконец, "сделанный".
Повторно синхронизировать проект с помощью gradle, и все будет загружено. Не забудьте отключить переопределение http, если вы его установили!
Источник: https://justus.berlin/2015/01/connection-problems-with-ssltls-peers-in-java-on-ubuntu-server-14-12-with-fix/
Ответ 3
Это исправлено для меня:
Открыть/gradle/wrapper/gradle -wrapper.properties
Измените 'https' на 'http' в дистрибутивеUrl:
distributionUrl=http\://services.gradle.org/distributions/gradle-2.1-all.zip
Затем вам нужно синхронизировать проект с gradle файлами
Ответ 4
В этой ошибке говорится, что вы пытаетесь подключиться с использованием протокола HTTPS, но ваш клиент не может проверить сертификат сервера - обычно потому, что он сам подписан.
Подключитесь к https://jcenter.bintray.com с вашим браузером и проверьте цепочку сертификатов. Корневой сертификат должен выдаваться GeoTrust Global CA. Если это не так, ваш интернет-провайдер или ваш работодатель выполняют MITM для ваших HTTPS-соединений.
Если вы им доверяете, простым обходным путем будет добавление этих самозаверяющих сертификатов в хранилище ключей JDK cacerts. Примеры того, как это сделать: Windows; Linux/Mac.
Ответ 5
Обычно эта ошибка возникает, когда вы находитесь под прокси-сервером компании. Мое решение по MAC было следующим:
-
Идентификация сертификата используется вашими подключениями https ![введите описание изображения здесь]()
-
Откройте Key Chain Tools (cmd + пробел)
- Определите найденный сертификат и экспортируйте его в файл сертификата..
-
Откройте терминал и перейдите в папку безопасности JAVA JRE:
cd/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/security
-
Импортируйте сертификат со следующей командой:
sudo keytool -import -alias somealias -file/PATH_TO_EXPORTED_CERTIFICATE/certificate.cer -keystore cacerts -storepass changeit
Это сделано. Откройте Android Studio и исправим конструкцию gradle.
Ответ 6
Я закрыл свою студию, и когда я снова открыл проект, у меня появилось окно для ввода информации прокси. В этом я должен был установить флажок, который сказал "Включить прокси HTTPS", и это сработало для меня!
Ответ 7
сначала измените версию инструментов сборки gradle. Вам необходимо обновить версию инструментария сборки. Все еще не работает, создайте новый проект и проверьте данные файла gradle. 1.5.0 - последняя версия, которую я установил.
classpath 'com.android.tools.build:gradle:1.5.0'
Ответ 8
После вмешательства в него и последующего ответа Schizo (вы также должны следовать ему), а не работает. Я понял, что Android Studio использует java-7-openjdk, но я добавил сертификат в java-8-openjdk, поэтому он не работал, пока я не изменил его на openJDK 8 в Структура проекта, поэтому убедитесь, что вы также проверяете это, если он не работает для вас.
Ответ 9
Это исправило это для меня, потратив много времени на различные решения:
Проверьте зависимости → classpath в файле build.gradle проекта
dependencies {
classpath 'com.android.tools.build:gradle:2.10'
}
В моем случае изменил это на classpath 'com.android.tools.build:gradle:2.0.0-rc1, чтобы исправить эту проблему. Чтобы узнать правильную версию, которую нужно использовать, вы создали новый проект и проверили файл build.gradle.
Надеюсь это поможет.
Ответ 10
Это глупый ответ, но для меня это исправляло перезапуск Android Studio.
Я использовал Charles Proxy, и я подозреваю, что это связано с причиной ошибки. Закрыл прокси и перезапустил студию Android, и это сработало. Понял, что я буду писать, потому что иногда ответ настолько прост, что мы забываем даже попробовать его.
Ответ 11
dependencies {
classpath 'com.android.tools.build:gradle:1.0.1'
}
Я меняю classpath com.android.tools.build:gradle:1.1.3'
на com.android.tools.build:gradle:1.0.0
Ответ 12
Есть еще одно небольшое изменение, которое может помочь вам в
gradle -wrapper.properties
Измените
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
To
distributionUrl = https://services.gradle.org/distributions/gradle-2.4-all.zip
Синхронизировать проект после выполнения изменения
Ответ 13
Я также столкнулся с той же проблемой, и проблема была связана с сертификатами.
1: Итак, первый шаг - перейти к Build- > Clean Project. Он даст вам подробную информацию об ошибке.
2: Копировать URL-адрес, который не соответствует трассировке стека. Например, для сборки не удалось загрузить какой-либо файл, трассировка стека будет содержать информацию о URL-адресе.
3: Откройте URL-адрес в браузере, если вы можете его открыть, что означает, что настройки прокси-сервера прекрасны, но java не может доверять источнику для его загрузки.
4: Итак, вам нужно скопировать сертификат вручную и поместить в сертификаты jre. И перестройка должна решить проблему.
5: Или, если у вас есть последняя версия jre verison, это может решить проблему.
Ответ 14
Как это происходит, я использую Ubuntu: когда я изменил версию на Android-версию 2.0 9, превью beta 1.
Как исправить мой gradle.
Просто создал новый проект в студии android, а затем вошел и увидел build.grandle версию gradle в моем случае:
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-beta1'
}
и замените его в моем проекте.
Я надеюсь, что это поможет другим.
Ответ 15
В моем случае мне пришлось загрузить последнюю версию Java SDK, а затем изменить местоположение JDK в проекте на загруженный JDK. По-видимому, что-то не так с текущим JDK (было предупреждение от моего антивирусного сканера об этом)
Ответ 16
В случае, если это помогает кому-то, у меня была такая же проблема, и хотя я установил прокси-сервер через настройки студии (который добавляет значения systemProp.http.proxyHost
и systemProp.http.proxyHost
в gradle.properties), https-прокси не был set, поэтому я добавил это в gradle.properties
systemProp.https.proxyHost = <your proxy host>
systemProp.https.proxyPort = <your proxy port>
и проблема решена!
Ответ 17
ответьте отсюда https://stackoverflow.com/a/37962441/4030497
в случае возникновения некоторых проблем с Интернетом,
попробуйте добавить строку
54.231.14.232 s3.amazonaws.com
на ваш /etc/hosts (..\Windows\System32\drivers\etc\hosts)
Ответ 18
Убедитесь, что вы указали последнюю версию gradle в файле build.gradle и последнем дистрибутивеUrl в файле gradle -wrapper.properties. Проверьте правильность подключения к сети или нет. [Сетевое подключение должно быть без брандмауэра/других параметров, которые могут остановить обновление gradle]
Ответ 19
distributionUrl=http://services.gradle.org/distributions/gradle-2.1-all.zip
сохраните http://
Ответ 20
У меня та же проблема и замаскируйте ее. Моя проводимость - это определение прокси-сервера HTTP, и я использую агент для подключения сервера. На самом деле вам не нужен прокси-сервер для подключения jcenter
Ответ 21
Сработало изменение моего build.gradle, показанного ниже.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Ответ 22
Обновите свой gradle до последней версии.
Он отлично работает.
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
Надеюсь, это поможет.
Ответ 23
Может быть, иногда ваше приложение использует Crashlytic bundle в вашей градле
И ваша сеть не может разрешить Crashlytic library. По-другому, может быть, другие lib могут вызвать проблемы. Пожалуйста, проверьте, что ваш интернет может получить доступ и grep эти библиотеки.
Поэтому он возвращает ошибку, которая
"Ошибка: причина: peer не аутентифицирован."
Для меня я решить эту проблему кодом комментария, который развил crashlytics lib все
и снова скомпилировать --- > эта проблема сбрасывает мое рабочее время на 4 часа, чтобы узнать и очистить его.
T ^ T
Желаем всем нам быть в безопасности от этой проблемы.