2016-11-02 20 views
0

Google Rest API v3を使用してAndroid搭載アプリをGoogleドライブに接続しています。 Proguard(minifyEnabled = false)を使わずに実行すると、すべて正常です。しかし、私がproguardを有効にすると、誤ったREST APIメソッドが呼び出されます。 Drive.Files.get()。を呼び出すと、ドライブのルートエイリアス "root"で実行され、Drive.Files.list()の実行結果が取得されます。私が "minifyEnabled"を無効にすると、正しい結果が表示されます。ここではProGuardの実行制御build.gradleのセクションでは、次のとおりです。GoogleドライブREST APIでProguardの問題を解決するには

buildTypes { 
    release { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
    debug { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 

デフォルトProGuardのファイルは、Android Studioの2.2(ない最適化されたバージョン)とが配信を取得し、そのまま1

であり、これはあります私は、生成mapping.txtをチェックインすると、私のproguard-rules.proファイル

-keepattributes EnclosingMethod 
-keepattributes InnerClasses 
-dontoptimize 

-keep class com.google.** 
-keep class com.fasterxml.** 
-dontwarn com.google.** 

の内容は、私はまだ芋「保管」されているshoudlクラスに名前を変更したメンバーを参照してください。例えば:

com.google.api.client.auth.oauth.OAuthParameters - > com.google.api.client.auth.oauth.OAuthParameters: にjava.security.SecureRandom RANDOM - > L com.google .api.client.auth.oauth.OAuthSigner signer - > a java.lang.Stringコールバック - > b java.lang.String consumerKey - > c java.lang.String nonce - > d java.lang.String realm - > e

私は "-keep class com.google。**"がこれを避けていると思いましたか?

これを修正する方法はありますか?あなたは

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

-keep class com.fasterxml.** { *;} 

を必要とし、事前に

おかげで、

+0

あなたはそれを修正しましたか?私は同じ問題に直面しています。ご存じの方はお手伝いください。ありがとう – SimpleCoder

+0

はい、2016年11月2日の最後のコメントを参照してください "私はそれを絞り込むことができました...." –

答えて

3

また、あなたは、SDKから以下を維持しようとするかもしれません。これらのルールは非常に広いです。

+0

残念ながら、これは助けにはなりません。ドライブAPI呼び出しはまだ混在していて、mapping.txtにあります。私はまだcom.googleクラスメンバの名前を変更しています –

+0

これをメインモジュールのproguard-rules.proに追加すると、まだ失敗しました。メインモジュールが依存するモジュール(実際にはドライブAPIを使用するモジュール)には、動作します。どうもありがとう。 –

+0

私はこれらの保存に絞り込むことができました: -keep、allowshrinking class com.google.api.services.drive.model。** {*;} -keep、allowshrinking class com.google.api.services。ドライブ。* { *;} –

関連する問題