无法为 java.util.List<com.example.myapp.network.QuoteDc> for 方法 c.a 创建转换器



我最近将Gradle插件升级到了版本:7.1.2(我的Gradle版本是7.2(。升级后,Improve抛出了这个异常

无法为java.util.List<创建转换器;com.example.myapp.networkQuoteDc>对于c.a方法

用于此数据类

@Keep
data class QuoteDc (
@Json(name = "quote") val quote: String
)

和这个例外

无法为java.util.List<创建转换器;com.example.myapp.network.StatusDc>对于方法d.a

用于此数据类

@Keep
data class StatusDc (
@Json(name = "txt")val txt: String,
@Json(name = "url") val url: String,
@Json(name = "updated") val updated: String,
@Json(name = "token") val token: Int
)

这两个错误的区别在于,一个错误以";c.a";另一个用";d.a";我不知道它们是什么

但是我能够通过设置";MinifyEnabled false">。但当然,我希望我的应用程序有一个小的apk大小。所以这个方法对我没用

不知怎的,新的Gradle插件导致了minimyEnabled true的问题。因为,在升级Gradle插件之前,下面的所有代码都能很好地使用MinifyEnabled true。请帮我解决这个问题。

这是我的一个数据类的改装代码:

private val moshi = Moshi.Builder()
.add(KotlinJsonAdapterFactory())
.build()
private val retrofitQuote = Retrofit.Builder()
.addConverterFactory(MoshiConverterFactory.create(moshi))
.baseUrl(BASE_URL)
.build()
interface QuoteInterface {
@GET("quotes.json") //end point
suspend fun getQuote(): List<QuoteDc>
}
object  QuoteApiObj {
val retrofitQuoteService: QuoteInterface by lazy { retrofitQuote.create(QuoteInterface::class.java) }
}

build.gradle(:app(

plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'androidx.navigation.safeargs.kotlin'
}
android {
compileSdk 31
defaultConfig {
applicationId "com.example.myapp"
minSdk 21
targetSdk 31
versionCode 7
versionName "1.4.2"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}
debug {
signingConfig signingConfigs.debug
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures{
viewBinding true
dataBinding true
}
}

我没有任何前卫的规则。

我使用的是moshi-kotlin依赖关系的旧版本。不知怎的,安卓工作室并没有提醒我更新版本的可用性。

我刚刚从1.9.3更新到1.13.0,它解决了这个问题。

implementation 'com.squareup.moshi:moshi-kotlin:1.13.0'

相关内容

最新更新