gae 端点客户端库中 class 上的 ClassNotFoundException

ClassNotFoundException on class inside gae endpoint client library

我正在 Java Eclipse Luna 上开发。打包过程由 Proguard 管理。

该应用程序在本地数据存储库和物理设备上运行良好运行。

但是,我将该应用程序推出到 Google Play 测试版。应用程序因 ClassNotFoundException 而崩溃。异常是针对由 GAE 的端点客户端库进程生成的 class 调用。

这是我到目前为止尝试过的方法,但没有成功...

  1. 重新安排构建路径,将所有客户端库放在列表顶部,取消选中依赖项并清理项目。

  2. 我还尝试在 proguard-project.txt.

    [ 中使用带有完整包和 class 名称的 -keepclass 选项=33=]
  3. 我将以下条目添加到我的混淆器中-project.txt...仍然没有成功

    -保持 public class * 扩展 com.google.api.client.json.GenericJson # google-api-client 需要保持通用类型和@Key 注释通过反射访问** -保持class成员class * { @com.google.api.client.util.Key ; } -keepattributes 签名、RuntimeVisibleAnnotations、AnnotationDefault

有人知道我遗漏了什么吗?谢谢!

这是我最终添加到我的混淆器-project.txt 文件中的内容:

# Needed by google-api-client to keep generic types and @Key annotations accessed via reflection
-keep public final class * 
-keep public class *

-keepclassmembers class * {
  public <fields>;
  static <fields>;
  public <methods>;
  protected <methods>;
}

-keepclassmembers class * extends com.google.api.client.json.GenericJson{
  public <fields>;
  static <fields>;
  public <methods>;
}

-keepattributes Signature,RuntimeVisibleAnnotations,AnnotationDefault