Proguard keep static Inner Class

原创 2014年01月13日 17:03:22

今天在使用Proguard keep一个 静态内部类的时候,混淆完之后一直找不到那个静态内部类,内心抓狂啊。

最后在stackoverflow上找到了答案:

-keepattributes Exceptions,InnerClasses,...
-keep class [packagename].A{
    *;
}
-keep class [packagename].A$* {
    *;
}


其中 A$* 表示所有A的内部类都保留下来,也可以如下使用:

-keepattributes Exceptions,InnerClasses,...
-keep class com.xxx.A{ *; }
-keep class com.xxx.A$B { *; }
-keep class com.xxx.A$C { *; }


这样可以根据需要只保留A的某一个内部类


以下是proguard文件一部分

#-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-keepattributes Exceptions,InnerClasses,...
-keep class com.yulore.reverselookup.api.YuloreWindowConfiguration{ *; }
-keep class com.yulore.reverselookup.api.YuloreWindowConfiguration$Builder{ *; }


注意:第一行和第二行都可以解决问题











版权声明:本文为博主原创文章,未经博主允许不得转载。

ProGuard详解

对于ProGuard工具想必我们都不陌生,它能够通过移除无用代码,使用简短无意义的名称来重命名类,字段和方法。从而能够达到压缩、优化和混淆代码的目的。最终我们会获取一个较小的apk文件,并且我们这个通...
  • ljd2038
  • ljd2038
  • 2016年05月03日 23:46
  • 20017

Proguard的Keep使用方法

java代码存在互相引用的关系,构成一个网状关系.(个人理解)引用又分为两种:普通引用和字符串引用(例如反射,native方法等).而java代码的执行入口点必然是采用的字符串引用(例如main等方法...
  • wyzzgo
  • wyzzgo
  • 2017年01月06日 22:55
  • 2693

JAVA之代码混淆proguard基础(一)

一官方网站用法               http://proguard.sourceforge.net/index.html#/manual/examples.html...
  • FastThinking
  • FastThinking
  • 2014年09月09日 17:57
  • 32476

基于Proguard软件基础上,针对Web项目xml配置文件修改的java项目。

基于Proguard软件基础上,根据Proguard的映射map文件内容,对Web项目xml、jsp、js文件修改的java项目。...
  • t_y_c
  • t_y_c
  • 2015年04月07日 08:34
  • 596

Android进阶之ProGuard代码混淆

简介Proguard工具通过移除无用的代码以及使用语义隐晦的名称来重命名类、字段和方法,从而达到压缩、优化和混淆代码的目的。最终您将获得一个较小的 .apk 文件,此文件更难于进行反向工程。由于 Pr...
  • hanhailong726188
  • hanhailong726188
  • 2015年12月28日 22:37
  • 1930

关于 ProGuard 的一些踩坑总结

关于 ProGuard 的一些踩坑总结前言在开发中,混淆是相当重要的一个环节,任何一个 app 都应该开启代码混淆、资源压缩、移除无用资源。Android 的 SDK 提供了 ProGuard 来实现...
  • sunquan1992
  • sunquan1992
  • 2017年03月22日 14:11
  • 222

Proguard混淆与Maven集成

Proguard混淆与Maven集成 目录 1       prouard与maven集成     2 2       Proguard配置     3 2.1压缩     3 2.2...
  • baidu_21259973
  • baidu_21259973
  • 2014年09月25日 15:03
  • 2705

静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同

答:Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化,其语法看起来挺诡异的,如下所示。 ...
  • zzy7075
  • zzy7075
  • 2015年12月22日 10:53
  • 3052

Android proguard(混淆)模板

proguard混淆规则及常用的第三方混淆
  • damnivictory
  • damnivictory
  • 2017年06月27日 11:39
  • 377

proguard如何会导致json解析失效?

1. 楔子json数据的解析是这个星球上99%的Android程序猿都会遇到的问题,而其中的大部分,都会使用Gson,故事就是从这里发生……...
  • barryhappy
  • barryhappy
  • 2017年04月06日 21:21
  • 703
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Proguard keep static Inner Class
举报原因:
原因补充:

(最多只允许输入30个字)