Kotlin Kapt 失败 - 只能看到 android api 级别 1 来源
Kotlin Kapt failing - only sees android api level 1 sources
我看到一些奇怪的行为导致 :app:kaptQaDebugKotlin
在尝试升级到 android gradle 插件 3.0 时失败。
- 用
@TargetApi(VERSION_CODES.KITKAT)
注释的方法失败 cannot find symbol
(VERSION_CODES.KITKAT
)
- ...但是
VERSION_CODES.KITKAT
当与方法内联使用时
- 找不到符号
DialogInterface.OnShowListener
(添加到 API 级别 8)
- ..但找到
DialogInteface.OnClickListener
(添加到 API 级别 1)
- 找不到符号
Application.ActivityLifecycleCallbacks
(添加到 api 级别 14)
- 注意:AndroidStudio 能够看到所有这些的来源
cannot find symbol
类(cmd + B
作品)
版本
- compileSdkVersion:
25
- 构建工具:
26.0.2
- Kotlin 版本:
1.1.51
- AGP:
3.0.0
- gradle 包装器:
4.3
- 支持库:
24.2.1
(这也很难升级,但我尝试了 25.4.0
但还是没有成功)
- Dagger:
2.0.2
(卡在这个旧版本上,不幸的是无法升级)
- 使用 AGP 3.0.0 java 8 脱糖功能
- 使用
kotlin-kapt
插件。自动值 类 已正确生成。
知道发生了什么事吗?看起来 kapt 任务以某种方式使用了 android api 级别 1 源,我不确定如何解决
根据@pentarex
error was coming from external library logback-android-classic, i had to exclude group: 'com.google.android', module: 'android
implementation(libs.logbackAndroidClassic){
exclude group: 'com.google.android', module: 'android'
}
我看到一些奇怪的行为导致 :app:kaptQaDebugKotlin
在尝试升级到 android gradle 插件 3.0 时失败。
- 用
@TargetApi(VERSION_CODES.KITKAT)
注释的方法失败cannot find symbol
(VERSION_CODES.KITKAT
) - ...但是
VERSION_CODES.KITKAT
当与方法内联使用时 - 找不到符号
DialogInterface.OnShowListener
(添加到 API 级别 8) - ..但找到
DialogInteface.OnClickListener
(添加到 API 级别 1) - 找不到符号
Application.ActivityLifecycleCallbacks
(添加到 api 级别 14) - 注意:AndroidStudio 能够看到所有这些的来源
cannot find symbol
类(cmd + B
作品)
版本
- compileSdkVersion:
25
- 构建工具:
26.0.2
- Kotlin 版本:
1.1.51
- AGP:
3.0.0
- gradle 包装器:
4.3
- 支持库:
24.2.1
(这也很难升级,但我尝试了25.4.0
但还是没有成功) - Dagger:
2.0.2
(卡在这个旧版本上,不幸的是无法升级) - 使用 AGP 3.0.0 java 8 脱糖功能
- 使用
kotlin-kapt
插件。自动值 类 已正确生成。
知道发生了什么事吗?看起来 kapt 任务以某种方式使用了 android api 级别 1 源,我不确定如何解决
根据@pentarex
error was coming from external library logback-android-classic, i had to exclude group: 'com.google.android', module: 'android
implementation(libs.logbackAndroidClassic){
exclude group: 'com.google.android', module: 'android'
}