1

有没有人在使用 youtube api 时遇到问题,尤其是在运行 proguard 之后?我从 youtube 获取视频的代码在运行 proguard 之前工作得很好,在运行 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,但它给出了相同的结果。

4

1 回答 1

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
于 2011-11-02T19:38:30.593 回答