1

特にプロガードを実行した後、YouTube api で問題が発生した人はいますか? 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 ファイルを使用しています。
プロガードを実行した後、誰かが同様の問題に直面しましたか? 難読化も最適化もせずにプロガードを試してみましたが、同じ結果が得られました。

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 に答える