You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Proguard打包Release APK后Facebook与Google+集成登录失效问题

解决Proguard打包后Facebook和Google+登录失效的问题

嗨,我太懂这个坑了!用Proguard混淆打包后,Facebook和Google+登录突然失效,大概率是关键类被混淆得认不出来了——这俩SDK都大量依赖反射、回调接口,混淆后类名/方法名被篡改,SDK就找不到对应的调用入口了。咱们来把你的proguard-rules.pro补全:

针对Facebook登录的规则补充

你现有的规则只保留了com.facebook.android.*,但远远不够,得把整个Facebook SDK的核心类、接口、回调都保护起来:

# Facebook SDK 完整混淆规则
-keep class com.facebook.** { *; }
-keep interface com.facebook.** { *; }
-keep enum com.facebook.** { *; }

# 确保登录回调类的方法不被混淆
-keepclassmembers class * implements com.facebook.login.LoginCallback {
    <methods>;
}

# 保留Graph API响应类,避免数据解析失败
-keep class com.facebook.GraphResponse { *; }

# 保留SDK依赖的注解、签名属性(反射调用必须)
-keepattributes Signature, Annotation, InnerClasses

针对Google+登录的规则补充

Google+登录现在大多和Google Sign-In整合了,得把登录核心类、任务回调、API客户端相关的类都保护起来:

# Google Sign-In/Google+ 完整混淆规则
-keep class com.google.android.gms.auth.api.signin.** { *; }
-keep class com.google.android.gms.common.api.** { *; }
-keep class com.google.android.gms.tasks.** { *; }

# 保留登录回调接口的实现方法
-keepclassmembers class * implements com.google.android.gms.auth.api.signin.GoogleSignInCallback {
    <methods>;
}

# 保留API可用性检查、连接结果相关类,避免初始化失败
-keep class com.google.android.gms.common.GoogleApiAvailability { *; }
-keep class com.google.android.gms.common.ConnectionResult { *; }

最后一步

把这些规则添加到你现有的proguard-rules.pro文件里,替换掉原来零散的相关规则,然后重新打包Release版本测试就行啦!

内容的提问来源于stack exchange,提问作者Krishna android

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:06:03