首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >1.9加装防护装置

1.9加装防护装置
EN

Stack Overflow用户
提问于 2016-05-05 22:16:02
回答 1查看 921关注 0票数 3

我在我的项目中使用了以下语言-

代码语言:javascript
复制
compile 'com.squareup.retrofit:retrofit:1.9.0'

但是,当我使用Proguard时,我的应用程序崩溃时会出现以下错误

代码语言:javascript
复制
 Fatal Exception: java.lang.IllegalArgumentException: d.a: Last parameter must be of type Callback<X> or Callback<? super X>.
           at retrofit.RestMethodInfo.methodError(Unknown Source)
           at retrofit.RestMethodInfo.parseResponseType(Unknown Source)
           at retrofit.RestMethodInfo.(Unknown Source)
           at retrofit.RestAdapter.create(Unknown Source)
           at retrofit.RestAdapter$RestHandler.invoke(Unknown Source)
           at java.lang.reflect.Proxy.invoke(Proxy.java:393)
           at $Proxy2.a(Unknown Source)
           at in.wishup.assistant.activities.SplashActivity.fetchOneTouchDetails(Unknown Source)
           at in.wishup.assistant.activities.SplashActivity$1.done(Unknown Source)
           at in.wishup.assistant.activities.SplashActivity$1.done(Unknown Source)
           at com.parse.ParseTaskUtils$2$1.run(Unknown Source)
           at android.os.Handler.handleCallback(Handler.java:739)
           at android.os.Handler.dispatchMessage(Handler.java:95)
           at android.os.Looper.loop(Looper.java:148)
           at android.app.ActivityThread.main(ActivityThread.java:5417)
           at java.lang.reflect.Method.invoke(Method.java)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

我觉得Retrofit的Asynchronus呼叫对Pro卫兵不起作用。有人遇到过类似的问题吗?我试过很多链接,但都没有用。

代码语言:javascript
复制
##proguard-rules.pro##

-keep class com.google.android.gms.* { *; } <br>  -keep class * extends android.app.Activity  <br>  -keepclassmembers class ** { <br>
     @com.squareup.otto.Subscribe public *;<br>
     @com.squareup.otto.Produce public *;<br>  }<br>  -keepnames class com.levelup.http.okhttp.** { *; }<br>  -keepnames interface com.levelup.http.okhttp.** { *; }<br>  -keepnames class com.squareup.okhttp.** { *; }<br>  -keepnames interface com.squareup.okhttp.** { *; }<br>

 -dontwarn com.squareup.okhttp.internal.http.*<br>
 -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement<br>

 -keepattributes Signature<br>
 -keepattributes *Annotation*<br>

 -dontwarn rx.**<br>
 -keep class com.google.gson.** { *; }<br>
 -keep class com.google.inject.* { *; }<br>
 -keep class org.apache.http.* { *; }<br>
 -keep class org.apache.james.mime4j.* { *; }<br>
 -keep class javax.inject.* { *; }<br>
 -keep class retrofit.* { *; }<br>
 -keep class sun.misc.Unsafe { *; }<br>
 -keep class in.wishup.assistant.testobfuscation.** { *; }<br>  -keep class retrofit.** { *; }<br>  -keepclasseswithmembers class * {<br>
     @retrofit.http.* <methods>;<br>  }<br>

 -keep class com.parse.* { *; }<br>  -dontwarn com.parse.*<br>

 -dontwarn retrofit.appengine.**<br>

 -keep class com.package.name.models.** { *; }<br>  -keepclassmembers class com.package.name.models.** { *; } <br>
EN

回答 1

Stack Overflow用户

发布于 2017-04-01 20:35:57

试试这个:https://github.com/krschultz/android-proguard-snippets/blob/master/libraries/proguard-square-retrofit.pro

如果在rest服务接口中使用带有回调参数的方法。 -keepattributes例外

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37061185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档