android - 如果我使用 Moshi,为什么任务 ':app:kaptDebugKotlin' 执行失败?
问题描述
海
我创建了一个使用匕首、房间、Moshi、Retrofit 等的应用程序......
在我将此行添加到我的模型类之前,它可以正常工作:@JsonClass(generateAdapter = true)
之后我收到此错误:
执行 org.jetbrains.kotlin.gradle.internal.KaptExecution 时发生故障
java.lang.reflect.InvocationTargetException(无错误消息)
我不知道是什么问题,因为我的另一个应用程序使用的是 Moshi,而且效果很好。
我添加了所有的 Moshi 依赖项和插件
My gradle settings:
buildTypes {
all {
buildConfigField 'String', 'API_URL', "\"$apiurl\""
lintOptions {
abortOnError true
//ignoreWarnings true
fatal 'MissingTranslation', 'ExtraTranslation'
}
}
debug {
//applicationIdSuffix ".debug"
ext.enableCrashlytics = false
ext.alwaysUpdateBuildId = false
multiDexEnabled true
}
staged {
signingConfig signingConfigs.debug
//applicationIdSuffix ".staged"
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro', getDefaultProguardFile('proguard-android-optimize.txt')
matchingFallbacks = ['debug']
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro', getDefaultProguardFile('proguard-android-optimize.txt')
}
}
ApiModule:
@Provides
@Singleton
fun provideMoshi(): Moshi {
return Moshi.Builder()
.add(DateConverter())
.add(BigDecimalConverer())
.add(KotlinJsonAdapterFactory())
.build()
}
@Provides
@Singleton
fun provideAuthApi(@Named("base_url") url: String, moshi: Moshi): AuthApi {
var builder = OkHttpClient.Builder()
builder = BuildTypeInitializations.setupInterceptor(builder)
return Retrofit.Builder()
.baseUrl(url)
.addCallAdapterFactory(CoroutineCallAdapterFactory())
.addConverterFactory(MoshiConverterFactory.create(moshi))
.client(builder.build())
.build()
.create(AuthApi::class.java)
}
解决方案
最后,我解决了。我使用了 1.8.x 版本的 moshi,当我更新到 1.11.0 时,错误消失了
推荐阅读
- node.js - 如何在 VSCode 中调试运行“节点”的 javascript
- javascript - 当 CSP 无法从 default-src: 'none' 更改时,是否可以进行 REST 调用?
- reactjs - 为高阶组件的反应组件的道具传递类型参数
- azure - 使用 Graph API 关闭安全中心警报
- python - Like button Django3 - KeyError at /nutriscore/exemple-1/ 'pk'
- r - 库(tidyverse)中的separate()命令的sep参数问题
- prolog - prolog中排列的八皇后问题
- java - 菜单项开放活动
- api - ml.googleapis.com 的预期 OAuth 2 访问令牌、登录 cookie 或其他有效身份验证凭据
- docker - Docker compose 错误:nginx:在 /etc/nginx/conf.d/default.conf:21 的上游“app”中找不到 [emerg] 主机