【问题标题】:Android youtube/gdata api not working after running proguard运行 proguard 后,Android youtube/gdata api 不起作用
【发布时间】:2011-11-03 03:38:30
【问题描述】:

是否有人在使用 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 没有混淆,没有优化,但它给出了相同的结果。

【问题讨论】:

    标签: android proguard


    【解决方案1】:

    不确定 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
    

    【讨论】:

    • 非常适合我,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 2011-03-29
    • 2017-03-08
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    相关资源
    最近更新 更多