gpt4 book ai didi

android - 获取 `java.lang.AssertionError: java.lang.NoSuchFieldException: HTTP_1_0`

转载 作者:行者123 更新时间:2023-12-04 00:25:03 29 4
gpt4 key购买 nike

在我的项目中,我正在使用 RxJava 执行 API 调用。
没有proguard,它运行良好。但是当我应用 proguard 它给出 java.lang.AssertionError: java.lang.NoSuchFieldException: HTTP_1_0onError(e: Throwable)的订阅者。

我申请了-keepclassmembers enum * { *; }在我的proguard中以防止混淆。

API 调用

 fun latestPosts(): Subscription {
return service.latestPosts
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(APICallSubscriber(presenterContract, ApiIndex.POSTS))
}

订户

class APICallSubscriber<T>(private val callback: BasePresenterContract,
private val apiIndex: String) : Subscriber<Response<T>>() {

override fun onCompleted() {

}

override fun onError(e: Throwable) {
Log.d("HomeTest", "${e}")
}

override fun onNext(response: Response<T>) {
val jsonObject = App.gson().toJsonTree(response).asJsonObject
val responseCode = jsonObject
.get(PayloadKeys.RAW_RESPONSE).asJsonObject
.get(PayloadKeys.CODE).asInt
Log.d("HomeTest", "$jsonObject")
val body: JsonElement? = jsonObject.get(PayloadKeys.BODY)
if (body != null) {
val responseBody = body.asJsonObject
callback.onNetworkRequestCompletedWith(responseBody, responseCode, apiIndex)
} else {
val errorBody: JsonElement? = jsonObject.get(PayloadKeys.ERROR_BODY)
callback.onNetwordRequestError(errorBody!!.asJsonObject, apiIndex)
}
}
}


我尝试了不同的 proguard 规则,但没有结果。
请帮忙。

最佳答案

如果这对任何人都有帮助,我有一个现有的项目,其中包含我制作的库模块。为了防止我的应用程序在被 ProGuard 缩小后崩溃,我需要添加

-keepclassmembers enum * { *; }
不仅是库的 build.gradle,还包括主模块的 build.gradle。

关于android - 获取 `java.lang.AssertionError: java.lang.NoSuchFieldException: HTTP_1_0`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57790047/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com