Google Rest API v3를 사용하여 Android 앱을 Google 드라이브에 연결하고 있습니다. Proguard없이 실행하면 (minifyEnabled = false) 모두 정상입니다. 그러나 proguard를 활성화하면 잘못된 REST API 메소드가 호출됩니다. Drive.Files.get().을 호출 할 때 드라이브 루트 별칭 "root"에서 실행하면 Drive.Files.list(). execute에 대한 결과가 표시됩니다. "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와 파일을 얻는 수정되지 않은 하나입니다 안드로이드 스튜디오 2.2 (안 최적화 된 버전)
과 분배는 그리고 이것은이다 내가 생성 된 mapping.txt에서 검사 할 때 내 proguard-rules.pro 파일
-keepattributes EnclosingMethod
-keepattributes InnerClasses
-dontoptimize
-keep class com.google.**
-keep class com.fasterxml.**
-dontwarn com.google.**
의 내용은 여전히 IMO에서 "유지"한 shoudl 클래스에서 이름이 변경된 멤버를 참조하십시오. java.security.SecureRandom의 RANDOM -> L com.google : -> com.google.api.client.auth.oauth.OAuthParameters
com.google.api.client.auth.oauth.OAuthParameters : 예를 들어, .api.client.auth.oauth.OAuthSigner 서명자 -> a java.lang.String 콜백 -> b java.lang.String consumerKey -> c java.lang.String nonce -> d java.lang.String 영역 -> e
나는 "-keep class com.google. **"가 이것을 피했을 것입니다.
어떻게 해결할 수 있습니까? 사전에
덕분에,
해결 되었습니까? 나는 같은 문제에 직면하고있다. 알고 계시면 도와주세요. 감사합니다 – SimpleCoder
네, 2016 년 11 월 2 일에 마지막으로 저의 코멘트를보십시오. "나는 그것을 좁힐 수있었습니다 ...." –