当我不使用SIGNED APK时,我的Google Drive api正常工作,如果我使用,则会返回错误code 17 -> public static final int SIGN_IN_FAILED = 17;
我在proguard规则中使用它:
-keepattributes Signature,RuntimeVisibleAnnotations,AnnotationDefault
-keepclassmembers class * {
@com.google.api.client.util.Key <fields>;
}
-keep class com.google.** { *;}
-keep interface com.google.** { *;}
-dontwarn com.google.**
# Needed by google-http-client-android when linking against an older platform version
-dontwarn com.google.api.client.extensions.android.**
# Needed by google-api-client-android when linking against an older platform version
-dontwarn com.google.api.client.googleapis.extensions.android.**
我有这个信息= /,而且我在开发者控制台上有api,key,sha1
答案 0 :(得分:2)
您很可能会生成一个没有正确的PackageName / SHA1组合的发布APK。检查这个的最简单方法是以下步骤:
1 /找到无效的APK。在解压缩器(7-zip)中打开'* .apk'文件,然后在存档中找到'META-INF \ CERT.RSA'文件。将其解压缩,例如解压缩到桌面
2 /运行'keytool -printcert -file。\ desktop \ CERT.RSA'。 你应该看到APK文件的'SHA1'。将它与开发控制台中的“SHA1”进行比较。
3 /检查包名称(它在您的清单中)。 “套餐名称”/“SHA1”对用于授权Google云端硬盘中的应用版本。
祝你好运