Android Studio导入JetBrains Exposed报错:找不到compile()方法
解决JetBrains Exposed库导入的Gradle错误
Hey there! 我来帮你解决这个问题,你遇到的错误其实是两个常见的Gradle新手问题叠加导致的,咱们一步步来搞定:
错误原因拆解
compile关键字已废弃:从Gradle 3.0版本开始,官方就不再推荐使用compile来声明依赖了,取而代之的是implementation或api(后者用于需要对外暴露依赖的场景)。- 配置文件放错位置:你把应用级的依赖和仓库配置放到了根目录的build.gradle里,这个文件是用来配置全局项目和构建脚本的,真正的应用依赖应该放到模块级的
build.gradle(一般是app/build.gradle)中。
具体修复步骤
第一步:修正根目录的build.gradle
保留全局配置,把仓库配置移到allprojects块里(让所有模块都能访问到这个仓库),删除根目录下多余的repositories和dependencies块。修改后的根目录build.gradle应该是这样:
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = '1.2.40' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() // 把Exposed的仓库配置放到这里 maven { url "https://dl.bintray.com/kotlin/exposed" } } } task clean(type: Delete) { delete rootProject.buildDir }
第二步:在模块级build.gradle添加依赖
打开app/build.gradle(就是你项目里app文件夹下的那个build.gradle),在dependencies块里添加Exposed的依赖,注意用implementation替代compile:
dependencies { // 保留你原来的其他依赖,比如kotlin-stdlib、appcompat等 implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'androidx.appcompat:appcompat:1.0.2' // 添加Exposed核心库依赖 implementation 'org.jetbrains.exposed:exposed:0.10.2' // 如果你需要数据库连接、时间扩展等模块,可以额外添加 // implementation 'org.jetbrains.exposed:exposed-jdbc:0.10.2' // implementation 'org.jetbrains.exposed:exposed-java-time:0.10.2' }
第三步:同步Gradle配置
点击Android Studio右上角的「Sync Now」按钮,等待Gradle完成同步,错误就应该消失啦。
内容的提问来源于stack exchange,提问作者CC.
相关产品推荐
相关产品推荐

