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 ,查看使用教程(戳我)
所以这里不吹详细理论,只讲操作,也当是自己的笔记吧。(本次操作于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 ,查看使用教程(戳我)
相关文章推荐
- 利用JDK1.5中自带的Java.util生成GUID的方法! 均实践通过(Java)
- android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
- Android开发实践:利用ProGuard进行代码混淆
- Java反射机制,Java注解,利用Java反射调用类方法,自定义Java注解
- Android中传递对象的三种方法以及Java对象的序列化和反序列化实践
- 利用WebView通过javascript调用android java方法
- Android开发实践:利用ProGuard进行代码混淆
- android中利用java反射原理将对象添加到sqlit数据库的万能方法
- android利用Context提供的方法实现java映射
- 利用python操作android的xml资源文件,让其按照中文自动生成对应中文首字母加起来的名字,并且根据中文在java类里面替代对应的中文
- Java如何操作Android的adb shell 之 我自己在程序中的使用方法
- 关于Java利用poi操作Excel的方法
- 黑马程序员--Java基础加强--15.利用反射操作泛型IV【通过反射Method解析泛型方法思路】【通过Method对四种Type子接口类型进行解剖】【使用递归对任意复合泛型类型进行彻底解剖】【个人
- Android IOC模块,利用了Java反射和Java注解
- Java中利用JCOM实现操作Excel 相关方法解释
- android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
- Android IOC模块,利用了Java反射和Java注解
- 利用java操作Excel文件的方法
- Java如何操作Android的adb shell 之 我自己在程序中的使用方法
- Android IOC模块,利用了Java反射和Java注解