1

私のアプリは Google ドライブ SDK と統合されています。Eclipse から実行すると期待どおりに動作しますが、proguard で難読化されたビルドを使用すると、次のエラーが発生します。Proguarded ビルドは、Eclipse のもの (デバッグ キーストアで署名されている) とは異なるキーストアで署名されています。Google Apis コンソールで、2 つのクライアント ID を作成し、それぞれに各キーストアの SHA1 を使用しました。

プロガードの問題が原因である可能性がありますか?他の提案はありますか?

03-29 15:08:50.845: E/error(24742): com.google.a.a.b.b.c: 403 Forbidden
03-29 15:08:50.845: E/error(24742): {
03-29 15:08:50.845: E/error(24742):   "code": 403,
03-29 15:08:50.845: E/error(24742):   "errors": [
03-29 15:08:50.845: E/error(24742):     {
03-29 15:08:50.845: E/error(24742):       "domain": "usageLimits",
03-29 15:08:50.845: E/error(24742):       "message": "Access Not Configured",
03-29 15:08:50.845: E/error(24742):       "reason": "accessNotConfigured"
03-29 15:08:50.845: E/error(24742):     }
03-29 15:08:50.845: E/error(24742):   ],
03-29 15:08:50.845: E/error(24742):   "message": "Access Not Configured"
03-29 15:08:50.845: E/error(24742): }
03-29 15:08:50.845: E/error(24742):     at com.google.a.a.b.d.a.c.b(Unknown Source)
4

1 に答える 1

1

これは、次のリンクにあるプロガード構成に以下を追加することで修正されました。エラー メッセージを考えると、これが難読化の問題であることに驚きました。

-keep class com.google.** { *;}
-keep interface com.google.** { *;}
-dontwarn com.google.**

-dontwarn sun.misc.Unsafe
-dontwarn com.google.common.collect.MinMaxPriorityQueue
-keepattributes *Annotation*,Signature
-keep class * extends com.google.api.client.json.GenericJson {
*;
}
-keep class com.google.api.services.drive.** {
*;
}

Google Drive API が ProGuard (NPE) とうまく連携しない

于 2013-03-29T18:14:14.177 に答える