为什么是;第三方Gradle插件可能是原因”;将Gradle更新为3.1.0后显示?
将Gradle更新为为什么是;第三方Gradle插件可能是原因”;将Gradle更新为3.1.0后显示?,gradle,kotlin,Gradle,Kotlin,将Gradle更新为com.android.tools.build:Gradle:3.1.0后,我现在在日志中看到: 文件夹 E:\WORK\App\car\u android\carapp\build\generated\source\kaptKotlin\devRelease 第三方Gradle插件可能是原因 它在我的项目中起了作用!-> 您的build.gradle项目应如下图所示: 注意:如果您不使用Realm和一些Google服务,可能会有点不同 现在,让我们开始->转到you b
com.android.tools.build:Gradle:3.1.0
后,我现在在日志中看到:
文件夹
E:\WORK\App\car\u android\carapp\build\generated\source\kaptKotlin\devRelease
第三方Gradle插件可能是原因
它在我的项目中起了作用!-> 您的build.gradle项目应如下图所示: 注意:如果您不使用Realm和一些Google服务,可能会有点不同
- 现在,让我们开始->转到you build.gradle应用程序
kapt {
mapDiagnosticLocations = true
}
dataBinding {
enabled = true
}
IntelliJ IDEA插件改进
Kotlin 1.2.30为IntelliJ IDEA Kotlin插件带来了各种改进,包括性能改进、错误修复以及新的检查和意图
对于某些项目,这一点很重要:
您将在构建中复制此内容。gradle-
它将如下图所示
现在我们需要在依赖项{../}build.gradle中添加实现:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-platform-android'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
// ...
// Architecture Component - Room
implementation "android.arch.persistence.room:runtime:1.1.0-beta1"
kapt "android.arch.persistence.room:compiler:1.1.0-beta1"
// Lifecyles, LiveData and ViewModel
kapt 'com.android.databinding:compiler:3.1.0'
// ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:1.1.1"
// alternatively, just ViewModel
implementation "android.arch.lifecycle:viewmodel:1.1.1"
// alternatively, just LiveData
implementation "android.arch.lifecycle:livedata:1.1.1"
kapt "android.arch.lifecycle:compiler:1.1.1"
// Room (use 1.1.0-beta1 for latest beta)
implementation "android.arch.persistence.room:runtime:1.0.0"
kapt "android.arch.persistence.room:compiler:1.0.0"
// Paging
implementation "android.arch.paging:runtime:1.0.0-alpha7"
// Test helpers for LiveData
testImplementation "android.arch.core:core-testing:1.1.1"
// Test helpers for Room
testImplementation "android.arch.persistence.room:testing:1.0.0"
*
*
尝试帮助您找到更好的方法)如果您收到警告: 第三方Gradle插件可能是原因 在build选项卡中,这似乎是Android Studio v3.1.x的一个已知问题。
根据报告,它可能与即时应用程序提供有关,但即使将其从运行/调试配置中删除,似乎也无法解决问题(至少在我安装的AS v3.1.1中是这样)
请投票表决该问题,以便Android Studio团队给予更多关注,并希望及时修复。发生这种情况是因为Kapt注释处理器使用此目录存储Kotlin生成的文件 该目录是一个新生成的源代码集,与您可以将源文件拆分为
src/main/java
和src/main/kotlin
但是,Android Gradle插件无法将此目录识别为生成的源集
在大多数情况下,这是完全无害的,因为大多数第三方处理器正在生成.Java
文件。Kapt将它们写入build/generated/source/Kapt
目录。据此,“Kapt的根本问题是JetBrains的IDEA中的Kapt解析器将这些文件夹注册为“处于无效路径”。这是对API的滥用。”
从2018年11月6日起,有一个修复程序可以对这些消息进行双重检查,并抑制关于实际有效路径的消息。我删除了两个文件夹app\build\generated\source\kaptKotlin\debug和app\build\generated\source\kaptKotlin\release(“debug”和“release”),并添加 在格拉德尔:
kapt {
mapDiagnosticLocations = true
}
那么项目是同步的,没有问题。它是说还是暗示,具体原因是什么?我也有同样的问题,我猜是generateStubs=true属性。我在Build->sync messages中也有同样的问题!我期待着找到解决办法!如果你修改了语法,并解释了你从哪里复制和粘贴了这些不同的布告,这个答案会更清楚。@Boann它看起来更好吗?它看起来更好吗?不,很难理解,你救了我一天。谢谢。这与问题无关。嗨,你从哪里发现已经有可用的修复程序了?在问题的最后。我看到有一些额外的“不固定”的评论了。
kapt {
mapDiagnosticLocations = true
}