android–Observable返回类型必须参数化为Observable或Observable

android–Observable返回类型必须参数化为Observable或Observable,第1张

概述我正在使用改造2.0.0-beta2并且调试版本正常工作但我在使用Proguard进行发布版本时遇到以下错误.这是更新的logcat错误.11-17 18:23:22.751 16274-16274/ph.reggis.FEDT D/AndroidRuntime: Shutting down VM 11-17 18:23:22.752 16274-16274

我正在使用改造2.0.0-beta2并且调试版本正常工作但我在使用Proguard进行发布版本时遇到以下错误.

这是更新的logcat错误.

11-17 18:23:22.751 16274-16274/ph.reggis.FEDT D/AndroIDRuntime: Shutting down VM11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime: FATAL EXCEPTION: main11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime: Process: ph.reggis.FEDT,PID: 1627411-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime: java.lang.RuntimeException: Unable to resume activity {ph.reggis.FEDT/ph.reggis.FEDT.vIEw.activity.NotificationListActivity}: java.lang.IllegalArgumentException: Unable to create call adapter for class b.a11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     for method InsularFMService.getNews11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.app.ActivityThread.performResumeActivity(ActivityThread.java:3103)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2481)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.app.ActivityThread.-wrap11(ActivityThread.java)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.os.Handler.dispatchMessage(Handler.java:102)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.os.Looper.loop(Looper.java:148)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.app.ActivityThread.main(ActivityThread.java:5417)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at java.lang.reflect.Method.invoke(Native Method)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:616)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:  Caused by: java.lang.IllegalArgumentException: Unable to create call adapter for class b.a11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     for method InsularFMService.getNews11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at retrofit.Utils.methodError(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at retrofit.MethodHandler.createCallAdapter(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at retrofit.MethodHandler.create(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at retrofit.Retrofit.loadMethodHandler(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at retrofit.Retrofit.invoke(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at java.lang.reflect.Proxy.invoke(Proxy.java:393)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at $Proxy0.getNews(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at ph.reggis.FEDT.b.C.d(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at ph.reggis.FEDT.vIEw.fragment.NotificationListFragment.t(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at ph.reggis.FEDT.vIEw.fragment.NotificationListFragment.l(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.support.v4.b.B.a(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.support.v4.b.B.a(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.support.v4.b.B.a(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.support.v4.b.B.i(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.support.v4.b.y.i(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.support.v4.b.t.onPostResume(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.support.v7.a.B.onPostResume(UnkNown Source)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.app.Activity.performResume(Activity.java:6336)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:     at androID.app.ActivityThread.performResumeActivity(ActivityThread.java:3092)11-17 18:23:22.752 16274-16274/ph.reggis.FEDT E/AndroIDRuntime:  Caused by: java.lang.IllegalStateException: Observable return type must be parameterized as Observable

接口:

@GET("news")Observable

分段:

Retrofit retrofit = new Retrofit.Builder()        .baseUrl(Constant.WS_URL_BASE)        .addConverterFactory(GsonConverterFactory.create())        .addCallAdapterFactory(RxJavaCallAdapterFactory.create())        .build();InsularFMService fmService = retrofit.create(InsularFMService.class);//Observable

Graddle:

compile "com.squareup.retrofit:retrofit:2.0.0-beta2"compile "com.squareup.retrofit:converter-gson:2.0.0-beta2"compile "com.squareup.retrofit:adapter-rxjava:2.0.0-beta2"

Proguard的:

# Fixed: Caused by: java.lang.NoSuchFIEldException: No fIEld producerIndex -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*FIEld* {     long producerIndex;     long consumerIndex; } -keepclassmembers class rx.internal.util.unsafe.BaselinkedQueueProducerNodeRef {     long producerNode;     long consumerNode;}
最佳答案现在它正在将这些属性放在Proguard中.

# Application classes that will be serialized/deserialized over Gson-keep class ph.reggis.FEDT.model.API.** { *; }

这是完整的设置

##---------------Begin: proguard configuration for Gson  ----------# Gson uses generic type information stored in a class file when working with fIElds. Proguard# removes such information by default,so configure it to keep all of it.-keepattributes Signature-keepattributes *Annotation*# Gson specific classes-keep class sun.misc.Unsafe { *; }# Application classes that will be serialized/deserialized over Gson-keep class ph.reggis.FEDT.model.API.** { *; }##---------------End: proguard configuration for Gson  ----------
总结

以上是内存溢出为你收集整理的android – Observable返回类型必须参数化为Observable或Observable全部内容,希望文章能够帮你解决android – Observable返回类型必须参数化为Observable或Observable所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1139255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)