• android工程创建的jar包使用proguard进行混淆 asqw


    混淆所需工具:ProGuard

    混淆文件编写:保存为.pro文件

    -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 *;
    }

    下载地址:Proguard 4.6

  • 相关阅读:
    浏览器打开developers.weixin.qq.com开头的网站加载特别慢或者无法打开
    微信小程序在微信开发者工具中打开时为何提示“小程序重启耗时过久,请确认业务逻辑中是否有复杂运算,或者死循环”?
    解决VMware Workstation 15 与Device/Credential Guard不兼容的问题
    Gitee同步项目后内容一致MD5不同
    Python2.7安装easy_install和pip
    php连接数据库
    css画三角形
    css的9个常用选择器
    Javafx弹窗
    javafx将数据库内容输出到tableview表格
  • 原文地址:https://www.cnblogs.com/asqw/p/2272010.html
Copyright © 2020-2023  润新知