您的位置:首页 > 移动开发 > Android开发

Android 利用java的注解方法快速keep住混淆实践操作

2017-05-24 15:19 381 查看
                 先上一遍混淆说明文章,里面对混淆的方法说的很详细了(点我戳我),本遍思路来源于这遍文章的最底部@Keep,

         所以这里不吹详细理论,只讲操作,也当是自己的笔记吧。(本次操作于Android studio)

         如何快速keep住不想被混淆的部分?

         首先得创建一个Annotation 文件  如:  

package com.demo.annotation;
//@Target(ElementType.METHOD)
public @interface Keep {
}        有些朋友可能遇到在 Android studio 里面创建 Annotation 类型文件时提示 "cannot create class",没关系,你看上面的结构是
   不是很像接口,你可以直接创建一个接口文件,然后在interface前面加 @ 就可以了。

       这里说一下 @Target(ElementType.METHOD)  这个注解,这是一个控制可用范围的注解,ElementType泛型里面有多个元素

   可选,如设置了ElementType.METHOD,那就只能在方法的前面设置这个注解,在不属于方法的前面设置注解就会提示异常,

   这是注解的其中一小小部分知识,有兴趣可以去了解注解。当然,也可以不写@Target(),那样就可以在任何地方设置这个注解了。

      使用如下:package com.demo;
@Keep
public class Demo {
@Keep
private String abc = "abc";

@Keep
public static void onResume() {
}
public static void onPause() {
}
}

     最后配置混淆文件,按照前面简书来配置的:
     -keep,allowobfuscation @interface com.demo.annotation.Keep

-keep @com.demo.annotation.Keep class *
-keepclassmembers class * {
@com.demo.annotation.Keep *;
}    配置好后,以后哪些不想被混淆,直接在前面加@keep就可以了,多方便快捷啊
    介绍一个Android-sdk里面自动的混淆tools, 路径android-sdk\tools\proguard\bin -->proguardgui.bat ,查看使用教程(戳我) 

      

       

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐