Android Studio编译问题-Error:Could not find org.jetbrains.trove4j:trove4j:20160824

今天早上打开AS,发现项目编译不通过了。。。提示

Error:Could not find org.jetbrains.trove4j:trove4j:20160824

Error:SSL peer shut down incorrectly

真莫名其妙。。。

查阅资料,提供的解决方式大致有以下几种:

1、在buildscript中加上这个 jcenter()

buildscript {
    repositories {   
       jcenter()//       在这里加
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

但是,一般项目都有这个属性了,仍然是报上面的错。

2、修改gradle-wrapper.properties文件

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

修改为:distributionUrl=http://services.gradle.org/distributions/gradle-4.1-all.zip

有的同志,说这样调整之后,重新编译就通过了。但我的仍然是编译不过。

3、项目build文件中repositories和allprojects括号中加上mavenCentral()

   然后将 jcenter()改成

maven{ url'http://maven.aliyun.com/nexus/content/groups/public/' }

maven{ url'http://maven.aliyun.com/nexus/content/repositories/jcenter'}

最后是这个样子:

buildscript {
    repositories {
        mavenCentral()
        google()
//        jcenter()
        maven{ url'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven{ url'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

这样就编译通过了。

总结:个人认为,在AS加载(引入)各种包、库的时候,由于网络限制等原因,导致加载失败,这个时候,找个靠谱的第三方库来作为下载来源,才是最有效的。

 

<think>好的,我现在要解决用户遇到的构建问题,具体是Gradle找不到`org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.50`这个依赖。首先,我需要回忆一下常见的依赖解析失败的原因,以及可能的解决方案。用户提到了他们尝试过一些方法但不管用,尤其是他们的项目是Flutter项目,包含很多插件,每个插件都有自己的build.gradle文件,这可能增加了复杂性。 首先,我应该检查用户是否在build.gradle文件中正确声明了依赖项。根据引用[2],正确的依赖声明应该是`implementation 'org.jetbrains.kotlin:kotlin-stdlib'`。但用户的问题是关于`kotlin-stdlib-jdk8`的,这可能是因为不同Kotlin版本之间的兼容性问题。用户需要确保所有Kotlin相关依赖的版本号一致,例如插件和库都使用相同的版本。比如,如果项目中的Kotlin插件版本是1.3.61(如引用[1]提到的),但依赖的版本是1.3.50,这就会导致冲突。这时候需要统一版本号。 接下来,用户可能需要检查项目根目录的build.gradle文件,确认Kotlin插件的版本是否与其他子模块或插件的版本一致。如果存在多个子模块,每个模块的build.gradle文件都需要检查是否有指定不同版本的Kotlin依赖,这可能导致冲突。例如,引用[4]提到用户的项目有很多插件,每个插件可能有自己的build.gradle,这时候需要统一所有模块的Kotlin版本。 另外,可能需要检查仓库配置是否正确。Gradle需要从正确的仓库下载依赖,例如Maven Central或Google的仓库。用户应确保在build.gradle的repositories块中包含这些仓库,比如: ```groovy repositories { google() mavenCentral() } ``` 此外,清理Gradle缓存也是一个常见解决方法。用户可能尝试过但没成功,但有时候清理缓存和重新同步项目可以解决问题。可以建议用户执行`./gradlew cleanBuildCache`或者删除`~/.gradle/caches`目录,然后重新构建。 如果问题依旧,可能需要检查依赖是否真的存在于仓库中。访问Maven Central网站,搜索该依赖,确认1.3.50版本是否存在。如果不存在,可能需要升级到存在的版本,比如1.3.61,或者使用其他可用的版本,并确保所有模块的版本一致。 另外,用户可能在某些子模块中使用了动态版本号,比如`+`,这可能导致解析到不兼容的版本。应该建议用户避免使用动态版本,明确指定版本号。 最后,如果项目中有Flutter插件,可能需要检查这些插件的build.gradle文件是否引入了不同版本的Kotlin依赖。可以尝试在根build.gradle中使用强制版本的方式,强制所有模块使用同一版本: ```groovy subprojects { configurations.all { resolutionStrategy { force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.61' } } } ``` 不过,强制版本可能会引起其他兼容性问题,需要谨慎使用。用户需要确保所有模块兼容指定的Kotlin版本。 总结下来,解决方案的步骤应该是:检查依赖声明、统一版本号、检查仓库配置、清理缓存、检查子模块配置、强制版本(必要时)。同时,结合用户的具体项目结构(Flutter多插件)可能需要更仔细地检查每个插件的配置。</think>### 解决方案:Kotlin标准库依赖缺失问题 #### 1. **检查依赖声明格式** 确保在`build.gradle`文件中使用正确的语法声明依赖: ```groovy dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.50" // 显式指定版本 } ``` 若版本号与其他模块冲突,建议升级到统一版本(如`1.3.61`)[^1]。 #### 2. **统一Kotlin版本** - 在根项目的`build.gradle`中定义全局版本变量: ```groovy ext.kotlin_version = '1.3.61' // 与插件版本保持一致 ``` - 所有子模块引用此变量: ```groovy implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" ``` #### 3. **配置仓库地址** 确保仓库包含`mavenCentral()`或`google()`: ```groovy repositories { google() mavenCentral() // 标准库通常在此仓库 } ``` #### 4. **清理Gradle缓存** - 命令行执行: ```bash ./gradlew cleanBuildCache # 或删除缓存目录 rm -rf ~/.gradle/caches/ ``` #### 5. **检查子模块冲突** - 对于Flutter项目,检查`android/build.gradle`和插件目录中的`build.gradle`文件,确保无旧版本覆盖全局配置。 - 若插件强制旧版本,可尝试在根配置中强制统一版本: ```groovy subprojects { configurations.all { resolutionStrategy.force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" } } ``` #### 6. **验证依赖是否存在** 访问[Maven Central仓库](https://search.maven.org/)确认`1.3.50`版本是否有效。若不存在,需升级至可用版本(如`1.3.61`)。 --- ### 相关问题 1. **如何解决Gradle依赖版本冲突?** 通过`./gradlew app:dependencies`分析依赖树,使用`resolutionStrategy.force`强制指定版本[^4]。 2. **Kotlin与Java 8的兼容性如何配置?** 需同时引入`kotlin-stdlib-jdk8`并启用Java 8编译选项: ```groovy android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } ``` 3. **Flutter项目中如何管理Android端依赖?** 修改`android/build.gradle`并确保所有插件兼容同一Kotlin版本,避免多模块冲突[^4]。 --- ### 引用说明 - 引用[1]和[4]表明版本不一致是常见问题根源,建议统一版本号[^4]。 - 引用[2]提供了标准库的基础依赖语法[^2]。 - 引用[3]展示了Kotlin在Spring项目中的实际应用场景[^3]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值