Android youtube / gdata api在运行proguard后无法正常工作

时间:2011-03-01 16:04:07

标签: android proguard

有没有人在运行proguard后遇到youtube api的问题? 我在运行proguard之前从youtube上获取视频的代码运行得很好,运行proguard之后我得到了奇怪的异常

 ERROR/AndroidRuntime(10197): Caused by: java.lang.IllegalArgumentException: 
No parser defined for Content-Type: application/atom+xml; charset=UTF-8; type=feed

我没有在任何地方设置内容类型,而是使用创建新项目时生成的默认proguard.cfg文件。
运行proguard后有没有人面临类似的问题? 尝试没有混淆的proguard,没有优化,但它给出了相同的结果。

1 个答案:

答案 0 :(得分:7)

不确定google-api-client是否与您提到的gdata完全相同,但它必须非常相似。由于Proguard经常会破坏你的代码,你必须告诉它它能做什么和不能做什么。它绝不是一种理解反思的奇迹工具。

我不得不在其他人中添加:

-keepattributes *Annotation* # Needed by google-api-client
-keepattributes Signature # Needed by google-api-client 

# Needed by google-api-client to keep generic types and @Key annotations accessed via reflection
-keepclassmembers class * {
  @com.google.api.client.util.Key <fields>;
}

# Needed by Guava (google-api-client)
-dontwarn sun.misc.Unsafe