ProGuard混淆时如何仅保留Raw目录下的MP3文件?
解决ProGuard混淆后Raw目录MP3无法加载的问题
你的思路方向是对的,只需要修正ProGuard规则里的类名写法,就能精准保留Raw目录对应的资源ID,不用保留全部R文件:
正确的规则如下:
-keepclassmembers class com.android.android.R$raw { public static <fields>; } -keep class com.android.android.R$raw
说明
Android编译后,Raw目录下的资源会被生成到R$raw这个内部类中,而非你写的R$.raw。修正类名后,ProGuard就只会保留Raw目录对应的资源字段,既保证MP3能正常加载,又不会影响其他资源的混淆优化。
内容的提问来源于stack exchange,提问作者propoLis
相关产品推荐
相关产品推荐

