#java #flutter #gradle #ssl-certificate #build.gradle
#java #flutter #gradle #ssl-сертификат #build.gradle
Вопрос:
Я разрабатывал приложение с использованием flutter, и все шло хорошо, пока я не обновил flutter для использования определенного пакета. С тех пор у меня были ошибки даже после перехода на старую версию flutter.
Вот ошибка:
Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: http://services.gradle.org/distributions/gradle-5.1.1-all.zip
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1900)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install$1.call(Install.java:61)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Exception: Gradle task assembleDebug failed with exit code 1
Вот мой файл build.gradle:
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
google()
jcenter()
maven {
url "https://dl.bintray.com/alphacep/vosk"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
jcenter()
maven {
url "https://dl.bintray.com/alphacep/vosk"
}
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
Вот graddle-wrapper.properties :
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http://services.gradle.org/distributions/gradle-5.1.1-all.zip
И, наконец, вывод flutter doctor:
[✓] Flutter (Channel stable, 1.22.6, on Mac OS X 10.15.7 19H15 darwin-x64, locale en-GB)
• Flutter version 1.22.6 at /Users/fern7hl4/Library/flutter
• Framework revision 9b2d32b605 (3 months ago), 2021-01-22 14:36:39 -0800
• Engine revision 2f0af37152
• Dart version 2.10.5
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at /Users/fern7hl4/Library/Android/sdk
• Platform android-29, build-tools 30.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[!] Xcode - develop for iOS and macOS
✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
Download at: https://developer.apple.com/xcode/download/
Or install Xcode via the App Store.
Once installed, run:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch
• CocoaPods version 1.10.1
[✓] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin installed
• Dart plugin version 201.9335
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.54.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.20.0
[!] Connected device
! No devices available
Я получаю примерно ту же ошибку, когда заменяю http на https в http://services.gradle.org/distributions/gradle-5.1.1-all.zip и я пробовал использовать разные версии flutter и gradle, но, похоже, ничего не работает.
Я действительно надеюсь, что кто-нибудь знает, что здесь происходит, и может помочь мне решить эту проблему.
Комментарии:
1. Это происходит потому, что оболочка не может загрузить gradle 5.1.1. Но 403 используется для отказа в подключении. Попробуйте обновить свой gradle 6.83. и ваш плагин gradle тоже
2. и сделайте его https, а не http. Это место, откуда загружаются zip-файлы services.gradle.org/distributions . и его https
3. Спасибо за ответ. Вот ошибка, которую я получил при изменении distributionUrl=https://services.gradle.org/distributions/gradle-6.8.3-all.zip : на сайте sun.net.www.protocol.https. AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) на sun.net.www.protocol.http. HttpURLConnection.getInputStream0(HttpURLConnection.java:1570) на sun.net.www.protocol.http. HttpURLConnection.getInputStream(HttpURLConnection.java: 1498) на sun.net.www.protocol.https. HttpsURLConnectionImpl.getInputStream (HttpsURLConnectionImpl.java:268) И многое другое, это не вписывается в комментарий
Ответ №1:
это звучит как проблема с сетью. Вы пытаетесь отключить брандмауэр? Попробуйте загрузить этот файл, это файл, к которому Gradle не может получить доступ. http://services.gradle.org/distributions/gradle-5.1.1-all.zip
Комментарии:
1. Спасибо за ответ. Как вы думаете, где я должен ссылаться на файл после его загрузки?