草庐IT

Running Gradle task ‘assembleDebug‘

fangli11223344 2023-04-22 原文

原本项目可以正常跑起来,在安卓真机上正常运行的,后来不知道怎么滴,突然就跑不起来了,但是在iOS设备上可以正常运行,后续判断主要是版本不匹配导致的,以及无法访问google服务。

话不多说,先来看看问题的呈现

具体问题呈现如下:

Running Gradle task 'assembleDebug'...
Exception in thread "main" java.net.SocketException: Connection reset
    at java.base/java.net.SocketInputStream.read(SocketInputStream.java:186)
    at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
    at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:478)
    at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:472)
    at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)
    at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111)
    at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1426)
    at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1336)
    at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450)
    at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421)
    at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:572)
    at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:197)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect0(HttpURLConnection.java:2787)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2699)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1854)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
    at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250)
    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)
Retrying Gradle Build: #2, wait time: 200ms
[!] Gradle threw an error while downloading artifacts from the network.

主要解决方案如下:

若是因网络原因无法访问google服务,可以使用国内镜像代替,主要修改之处为:

  1. android文件夹下build.gradle文件修改

将下面两行代码进行注释

google()
mavenCentral()

新增阿里云镜像如下

maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
  1. 修改gradle版本,android/gradle/wrapper/gradle-wrapper.properties,具体版本可查看

https://services.gradle.org/distributions/

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip

项目运行成功的话,~/.gradle/wrapper/dist/gradle-7.2-all/路径下应是如此

若该路径下一直是下方这样的话,则表示gradle相应的版本未下载成功

此时,你可以自己去https://services.gradle.org/distributions/这里找到你要下载的版本手动下载下来,直接用.zip替换上面的两个就好了

此处另外需要关注两件事情,其一是java版本与gradle版本匹配

其二是gradle版本与gradle插件版本匹配兼容

android/build.gradle中classpath 'com.android.tools.build:gradle:4.1.0' 指的就是gradle插件版本,andriod/gradle/wrapper/gradle-wrapper.properties中就是gradle插件所需的gradle版本

  1. flutter sdk路径下,如/Users/fl-10026268/fvm/versions/3.0.5/packages/flutter_tools/gradle/flutter.gradle文件修改

buildscript {
    repositories {
        // 注释
        // google()
        // mavenCentral()
        //  新增镜像
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
    }
    dependencies {
        /* When bumping, also update ndkVersion above. */
        classpath 'com.android.tools.build:gradle:4.1.0'
    }
}
/// https://storage.flutter-io.cn 替换 https://storage.googleapis.com
private static final String DEFAULT_MAVEN_HOST = "https://storage.flutter-io.cn";  ///  "https://storage.googleapis.com";
  1. flutter sdk路径下,如/Users/fl-10026268/fvm/versions/3.0.5/packages/flutter_tools/gradle/resolve_dependencies.gradle文件修改

// http://download.flutter.io 替换 $storageUrl/download.flutter.io
repositories {
    google()
    mavenCentral()
    maven {
        url "http://download.flutter.io"
        // url "$storageUrl/download.flutter.io"
    }
}
  1. flutter sdk路径下,如/Users/fl-10026268/fvm/versions/3.0.5/packages/flutter_tools/lib/src/http_host_validator.dart修改

/// Common Flutter HTTP hosts.
const String kPubDevHttpHost = 'https://pub.flutter-io.cn/';  /// https://pub.dev/
const String kgCloudHttpHost = 'https://storage.flutter-io.cn/';  /// https://cloud.google.com/

/// MacOS specific required HTTP hosts.
const List<String> macOSRequiredHttpHosts = <String>[
  'https://cocoapods.org/',
];

/// Android specific required HTTP hosts.
List<String> androidRequiredHttpHosts(Platform platform) {
  return <String>[
    // If kEnvCloudUrl is set, it will be used as the maven host
    if (!platform.environment.containsKey(kEnvCloudUrl))
      'https://dl.google.com/dl/android/maven2/',
      // 'https://maven.aliyun.com/repository/google/',
  ];
}

通过以上几个步骤的修改,基本上就可以解决此问题了,因本人不是安卓开发,我在这个问题上耽误了好些天,终于解决让项目跑起来了,特在此总结一下经验,希望后来人不会因此耽误太多时间。

有关Running Gradle task ‘assembleDebug‘的更多相关文章

  1. android - Gradle assembleDebug 和 preDexDebug 即使对于新项目也会失败 - 2

    我在尝试编译和运行我的项目时遇到错误。如果我尝试在AndroidStudio中运行一个只有空白Activity的新项目,甚至会发生这种情况。错误发生在gradle'preDexDebug'任务期间。Error:Executionfailedfortask':app:preDexDebug'.>com.android.ide.common.internal.LoggedErrorException:Failedtoruncommand:/Users/myname/Dev/tools/android-sdk-macosx/build-tools/19.0.3/dx--dex--output

  2. java - Android Studio中的assembleDebug错误 - 2

    我已经更新到最新的AndroidSDK并在.bash_profile中设置JAVA_HOME使用exportJAVA_HOME=$(/usr/libexec/java_home),我收到以下错误:ErrorGradle:FAILURE:Couldnotdeterminewhichtaskstoexecute.*Whatwentwrong:Task'assembleDebug'notfoundinproject':CrystalBall'.*Try:Rungradletaskstogetalistofavailabletasks.Error:Couldnotexecutebuildusi

  3. 安卓工作室错误代码 : 1 Executing tasks: [:app:assembleDebug] - 2

    当我运行我的应用程序时,我得到了这个:执行任务:[:app:assembleDebug]Configurationondemandisanincubatingfeature.:app:preBuild:app:compileDebugNdkUP-TO-DATE:app:preDebugBuild:app:checkDebugManifest:app:preReleaseBuild:app:prepareComAndroidSupportAppcompatV72100LibraryUP-TO-DATE:app:prepareComAndroidSupportSupportV42103Li

  4. android - assembleDebug 不适用于 Android Studio 中的 Gradle2.4 - 2

    我最近更新了gradle-wrapper.properties文件以使用gradle-2.4。这是我新更新的gradle-wrapper.properties文件:#SunDec2121:28:27GMT+05:302014distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-

  5. android - Gradle assembleDebug 和 preDexDebug 因 CircleCI 而失败 - 2

    我尝试使用CircleCI来assembleDebug,但它肯定无法构建(preDex)。为什么我不能那样做?使用ProductFlavor(名称为production)AndroidGradlever.1.1.0-rc1问题./gradlewassembleProductionDebugdiedunexpectedlyBuilding92%3%>:app:preDexProductionDebugaction./gradlewassembleProductionDebugfailed圆.ymlgeneral:artifacts:-"app/build/outputs/apk/app-

  6. android - 使用 64 位或 32 位版本的 Android Studio 时,Gradle 卡在 'build' 或 'assembleDebug' - 2

    过去几个月我遇到的问题是AndroidStudio经常卡在Gradle:build上,如here所示.AndroidStudio本身会保持响应,但构建根本不会进行。它也永远不会产生任何类型的错误,所以我不能真正发布任何有用的信息。千载难逢,它可能会突然起作用,但没有什么可靠的。最近我在StackOverflow上发现了一篇帖子,其中某人的AndroidStudio在尝试创建一个新项目时会卡在Gradle:build上,他注意到这个问题并不存在于32位版本的Android。所以我想,为什么不试试呢。事实证明,构建不再是问题,但在尝试构建应用程序时assembleDebug才是问题。可以看

  7. gradle - Flutter Assembledebug linking error app will not compile,什么都试过了 - 2

    失败:构建失败,出现异常。*Whatwentwrong:Executionfailedfortask':app:processDebugResources'.>AndroidresourcelinkingfailedOutput:/home/ollie2224/StudioProjects/24Hrs/build/app/intermediates/incremental/mergeDebugResources/merged.dir/values-v28/values-v28.xml:7:error:resourceandroid:attr/dialogCornerRadiusnotf

  8. gradle - Flutter Assembledebug linking error app will not compile,什么都试过了 - 2

    失败:构建失败,出现异常。*Whatwentwrong:Executionfailedfortask':app:processDebugResources'.>AndroidresourcelinkingfailedOutput:/home/ollie2224/StudioProjects/24Hrs/build/app/intermediates/incremental/mergeDebugResources/merged.dir/values-v28/values-v28.xml:7:error:resourceandroid:attr/dialogCornerRadiusnotf

  9. android - 应用程序 :transformClassesWithJarMergingForDebug'. TransformException : java. util.zip.ZipException:运行 gradlew assembleDebug 时出现重复条目 - 2

    当我在androidstudio项目根目录上运行gradlewassembleDebug命令时。构建过程失败,我收到此消息:Whatwentwrong:Executionfailedfortask':app:transformClassesWithJarMergingForDebug'.com.android.build.api.transform.TransformException:java.util.zip.ZipException:duplicateentry:org/slf4j/impl/StaticLoggerBinder.class在我的项目中有两个jar文件:slf4j

  10. android - 应用程序 :transformClassesWithJarMergingForDebug'. TransformException : java. util.zip.ZipException:运行 gradlew assembleDebug 时出现重复条目 - 2

    当我在androidstudio项目根目录上运行gradlewassembleDebug命令时。构建过程失败,我收到此消息:Whatwentwrong:Executionfailedfortask':app:transformClassesWithJarMergingForDebug'.com.android.build.api.transform.TransformException:java.util.zip.ZipException:duplicateentry:org/slf4j/impl/StaticLoggerBinder.class在我的项目中有两个jar文件:slf4j

随机推荐