android studio 4.0(macOs)中的内部类混淆代码
Posted
技术标签:
【中文标题】android studio 4.0(macOs)中的内部类混淆代码【英文标题】:innerclass obfuscation code in android studio 4.0(macOs) 【发布时间】:2020-11-13 21:18:39 【问题描述】:android studio 4.0(macOs)中的innerclass混淆代码
B是A的内部接口。
proguard-rules.pro:
...
-keep class A$B
-keepclassmembers class A
public static <methods>;
-keepclassmembers class A$B
<methods>;
...
mapping.txt:
...
A$B -> A$B:
...
...
'B'的名字混淆后变成'A$B',B变成外部接口A$B。
为什么?
现在sdk打包成aar,其他devploer只能用A$B调用B,但我想用A.B调用B。怎么办?3q。
【问题讨论】:
【参考方案1】:试试这个。
-keepattributes Exceptions,InnerClasses,...
-keep class [packagename].A
*;
-keep class [packagename].A$*
*;
参考: Android proguard, keep inner class
【讨论】:
以上是关于android studio 4.0(macOs)中的内部类混淆代码的主要内容,如果未能解决你的问题,请参考以下文章
此版本的 Android Studio 无法打开此项目,请使用 Android Studio 4.0 或更高版本重试
关于Android老项目在Android Studio 4.0运行的报错
关于Android老项目在Android Studio 4.0运行的报错