android里proguard.cfg文件有啥用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android里proguard.cfg文件有啥用?相关的知识,希望对你有一定的参考价值。

android里proguard.cfg文件是代码混淆用,是为了防止你的apk被反编译而代码全部暴露.不过目前的代码混淆只是把命名修改了一下而已,真正反编译时还是可以想办法还原出来的,所以不能真正的混淆。
其详解为:
-injars androidtest.jar【jar包所在地址】
-outjars out【输出地址】
-libraryjars 'D:\android-sdk-windows\platforms\android-9\android.jar' 【引用的库的jar,用于解析injars所指定的jar类】

-optimizationpasses 5
-dontusemixedcaseclassnames 【混淆时不会产生形形色色的类名 】
-dontskipnonpubliclibraryclasses 【指定不去忽略非公共的库类。 】
-dontpreverify 【不预校验】
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 【优化】
-keep public class * extends android.app.Activity  【不进行混淆保持原样】
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public abstract interface com.asqw.android.Listener
public protected <methods>; 【所有方法不进行混淆】

-keep public class com.asqw.android
public void Start(java.lang.String); 【对该方法不进行混淆】

-keepclasseswithmembernames class * 【保护指定的类和类的成员的名称,如果所有指定的类成员出席(在压缩步骤之后)】
native <methods>;

-keepclasseswithmembers class * 【保护指定的类和类的成员,但条件是所有指定的类和类成员是要存在。】
public <init>(android.content.Context, android.util.AttributeSet);

-keepclasseswithmembers class *
public <init>(android.content.Context, android.util.AttributeSet, int);

-keepclassmembers class * extends android.app.Activity 【保护指定类的成员,如果此类受到保护他们会保护的更好 】
public void *(android.view.View);

-keepclassmembers enum *
public static **[] values();
public static ** valueOf(java.lang.String);

-keep class * implements android.os.Parcelable 【保护指定的类文件和类的成员】
public static final android.os.Parcelable$Creator *;
参考技术A 这是代码混淆用的.
你可以搜索一下android 代码混淆,看看大家是怎么配置这个文件的.

代码混淆是为了防止你的apk被反编译而代码全部暴露.不过目前的代码混淆只是把命名修改了一下而已,真正反编译时还是可以想办法还原出来的,所以不能真正的混淆.本回答被提问者和网友采纳
参考技术B 优化用的,可以自己定义你需要保留的类。去android源码里面找几个应用看看就明白了。

android style有啥用

今天刚刚看了一个关于style的视频教学,从中得知这个
就是风格的意思,用这个就可以直接定义了文本的字体大小和颜色等等,反正有关View的 控件动都能用style来弄UI的。
参考技术A 他的作用和各手机厂商的UI差不多 就是看

以上是关于android里proguard.cfg文件有啥用?的主要内容,如果未能解决你的问题,请参考以下文章

android中的proguard.cfg与proguard.rules.pro区别

Proguard.cfg 丢失

SD卡中这些文件有啥用?能不能删?

在 Eclipse 中使用 Proguard for Android 出错

Android:proguard 不会混淆源代码

谁能给我解释一下,开发者选项里的每一项都有啥用?如图