ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

SDK 接入中 `proguard-rules.pro` 到底干啥的?——别让“瘦身师”把你关键零件锯了(大白话版)

SDK 接入中 `proguard-rules.pro` 到底干啥的?——别让“瘦身师”把你关键零件锯了(大白话版)

接 SDK 的时候,你十有八九见过这句话:

“请将以下内容加入proguard-rules.pro,否则 Release 包可能崩溃。”

然后对方甩给你一坨 keep 规则,长得像咒语:

-keep class com.xxx.** { *; } -keep class * extends android.app.Service -keepattributes *Annotation* -keepclassmembers class * { @com.xxx.Keep *; }

你看完内心 OS:
“我就想接个登录/支付/广告,怎么还要写这种魔法书?”

更气人的是:
Debug 包跑得好好的,一切正常;
一上 Release、开了混淆、过一遍 R8/Proguard,立刻:

  • 登录回调不来了
  • 支付成功不到账
  • 广告不展示
  • 埋点全丢了
  • 甚至启动就崩,logcat 一堆ClassNotFoundExceptionNoSuchMethodError

这时候你才发现:
proguard-rules.pro不是“可选项”,很多 SDK 接入里它是救命符

这篇文章就用大白话,把它讲透:

  • 它到
返回列表