zoukankan      html  css  js  c++  java
  • Android源码混淆脚本proguard

    怎么用?

    1,工程根目录下创建一个文件proguard.cfg;(名字随便起)

    2,在project.properties末尾添加一行proguard.config=proguard.cfg

    怎么写?

    先来个现成的:

    #优化级别
    -optimizationpasses 5
    -dontusemixedcaseclassnames
    -dontskipnonpubliclibraryclasses
    #不预审核
    -dontpreverify
    #屏蔽警告信息
    -ignorewarnings 
    -verbose
    -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
    
    #导入第三方的类库,防止混淆时候读取包内容出错
    -libraryjars libs/universal-image-loader-1.8.7-snapshot-with-sources.jar
    -libraryjars libs/android-support-v4.jar
    
    #类全限定名不变
    -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
    
    #本地方法声明不变
    -keepclasseswithmembernames class * {
        native <methods>;
    }
    
    #枚举什么的
    -keepclassmembers enum * {
        public static **[] values();
        public static ** valueOf(java.lang.String);
    }
    
    -keep class * implements android.os.Parcelable {
      public static final android.os.Parcelable$Creator *;
    }
    
     
    #保护有指定标签的成员
    -keepclassmembers class * {  
        @cn.moqi.general.widget.util.annotation.*
        <methods>;
        @cn.moqi.general.widget.util.annotation.*
        <fields>;
    }
  • 相关阅读:
    写爬虫,怎么可以不会正则呢?
    从 Scrapy 学习模块导入技巧
    博客已搬家至CSDN
    更改JDK默认编码,解决DBeaver乱码问题
    【2020面试】- Java中常见集合的默认大小以及扩容机制
    【2020面试】- CAS机制与自旋锁
    【2020面试】- filter和interceptor的区别
    【20k中级开发】-面试题201117
    【开发笔记】
    RPC 调用和 HTTP 调用的区别
  • 原文地址:https://www.cnblogs.com/moqi2013/p/3385695.html
Copyright © 2011-2022 走看看