Android Studio 3.0中的Plain Kotlin模块,`api`不支持?
在Gradle插件3.0(Android Studio 3.0)中开始, compile
命令已被替换为api
和implementation
。 这里解释https://blog.mindorks.com/implementation-vs-api-in-gradle-3-0-494c817a6fa
但是,对于下面的纯Kotlin模块,我不能使用api
。 即当我执行同步时,下面的代码将会有错误
apply plugin: 'kotlin' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) api "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" }
错误是
Could not find method api() for arguments [org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-4] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. Open File`
我不得不使用“不推荐” compile
。
为什么在纯粹的kotlin
模块中不支持api
?
compile
在Gradle中不被弃用,而只在特定的插件,即Android和Java库插件中使用。 标准的Java插件没有做这个改变。 Kotlin插件也没有。 它可能最终(可能在解决了Java库文档中描述的问题之后)。
- 无法在Kotlin代码中显示EditText错误
- Android Kotlin将项目添加到来自微调的ListView
- CountDownLatch没有释放线程
- Android RecyclerView无限滚动而不使用NULL对象来加载指标
- 如何禁用BottomNavigationView点击和触摸?
- UserLoginTask完成登录API完成块后,如何返回doInBackground中的结果
- 将像素转换为dp
- 试图在Kotlin中创建一个简单的recyclerView,但是适配器没有正确应用
- 无法转换为org.jetbrains.kotlin.java.model.types.JeClassInitializerExecutableTypeMirror