首页 > 系统 > Android > 正文

【android学习】Android源码混淆

2019-11-06 09:48:38
字体:
来源:转载
供稿:网友

1,概念

(1)混淆 防止源码被工具反编译,通过对源码进行混淆保护源码。 android通过PRoguard混淆源码,并对其进行优化。

2,配置

这里写图片描述 如图所示为混淆文件。

①project.properties文件

在文件中添加一行:

proguard.config=proguard-project.txt

这句话的意思是:使用当前目录下proguard-project.txt作为混淆配置文件。

②proguard-progect.txt(混淆配置文件)

#保留annotation, 例如 @javascriptInterface 等 annotation-keepattributes *Annotation*#保留跟 Javascript相关的属性 -keepattributes JavascriptInterface#保留JavascriptInterface中的方法-keepclassmembers class * { @android.webkit.JavascriptInterface <methods>;}#保留与js交互的内部类-keep class 包名.ClassName$内部类类名#保留与js交互的内部类:字段、方法-keepclassmembers class 包名.ClassName$内部类类名{ <fields>; <methods>; public *; private *;}#保留包下所有内容-keep class com.luo.** { *; }#保留JSON-keep class com.alibaba.fastjson.** { *; }-keepclassmembers class * {public <methods>;}-keepattributes Signature-keepclasseswithmembers class *{ public *;}

3,问题

①apk通过真机调试可用使用,通过导出apk,安装后却不能用? 原因: 混淆app出了问题,需要取消一些屏蔽。 对于混淆出现的问题,可以通过log和mapping文件进行追踪 举例: JS调用有问题,需要取消JS内部类的屏蔽、取消与JS交互相关的bean类屏蔽。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表