所以在运行我的应用程序时,我收到了这个错误:
06-17 12:56:08.547 E/AndroidRuntime(23432): Caused by: java.lang.IllegalArgumentException: XapoService.credit: No Retrofit annotation found. (parameter #1)
我有谷歌搜索,发现它可能是由 ProGuard 引起的。我在我的 ProGuard 中添加了以下几行:
-keep class com.google.gson.** { *; }
-keep class com.google.inject.** { *; }
-keep class org.apache.http.** { *; }
-keep class org.apache.james.mime4j.** { *; }
-keep class javax.inject.** { *; }
-keep class java.io.** { *; }
-dontwarn retrofit.**
-keep class retrofit.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-keepattributes *Annotation*
-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.**
-keep interface retrofit.** { *; }
-dontwarn rx.**
-keepclasseswithmembers class * {
@retrofit.http.* <methods>
}
-keep class com.google.common.** { *; }
-keep class com.mycompany.testSDK.XapoService { ; }
然而我仍然在这个电话中收到错误:
import retrofit.client.Response;
import retrofit.http.GET;
import retrofit.http.Query;
import java.util.List;
public interface XapoService {
@GET("/credit/")
Response credit(@Query("appID") String appID, @Query("hash") String hash);
}