- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个java类,它有一些公共(public)方法,我想保留它们。 (这已经完成了)我还有一个包含静态常量的内部类。该类具有以下结构。
public class MyClass {
public static MyInnerClass {
public static final String MY_CONSTANT_1="constant 1";
public static final String MY_CONSTANT_2="constant 2";
public static final String MY_CONSTANT_3="constant 3";
public static final String MY_CONSTANT_4="constant 4";
public static final int MY_INT_1 = 1;
public static final int MY_INT_2 = 2;
}
public void method1() { }
public void method2() { }
public void method3() { }
public void method4() { }
}
我想混淆上面的类。我想保留一些部分并删除其余部分。我想保留方法 method1
和 method2
。我想保留内部类MyInnerClass
。我想保留 MyInnerClass
的一些字段,例如 MY_CONSTANT_1
、MY_CONSTANT_2
和 MY_INT_1
。其余全部应删除。
我的 proguard 如下 --
-keep public class com.mypackage.MyClass**
-keepclassmembers class com.mypackage.MyClass** {
public *** method1(...);
public *** method2(...);
}
-keepclassmembers class com.mypackage.MyClass.MyInnerClass** {
public static final java.lang.String MY_CONSTANT_1;
public static final java.lang.String MY_CONSTANT_2;
public static final int MY_INT_1;
}
这适用于顶级类(class),但我的 MyInnerClass 为空我进行了搜索,但大多数人都告诉我要么完全删除它,要么保留全部。
如果你们需要更多信息,请告诉我。提前致谢
最佳答案
您需要使用“$”作为类与其内部类之间的分隔符,然后规则应该正确工作:
-keepclassmembers class com.mypackage.MyClass$MyInnerClass {
public static <fields>;
}
关于java - 如何使用 Proguard 保留 InnerClass 中的特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39343043/
这个问题已经有答案了: Instantiate inner class object from current outer class object (3 个回答) 已关闭 7 年前。 我正在查看一些
我正在阅读 Bruce Eckel 所著的《Thinking in Java》一书。我在内部类一章中遇到了这个断言,它说:“使用本地内部类而不是匿名内部类的唯一理由是,如果您需要命名构造函数和/或重载
内部类的分类 1、本地内部类 2、实例内部类 3、静态内部类 4、匿名内部类 首先,我要在这声明一下,内部类也是类,不管它是属于何种类型。 说这个是为了端正你们内部类的角度。 只要是类,就会有类的特性
Student.Student_Card obj4 = Student.new Student_Card(namess, idss, true); Student 类是外部类,Studen_Card
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
基于答案:https://stackoverflow.com/a/47693998/8760211 当我尝试从类 Invoker 中对类型为 Student 的元素的列表进行排序时,发生以下编译错误。
http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.7.6 Every CONSTANT_Class_info e
我有几个导入的 jar 在项目构建时在 Eclipse 中出现此错误: [2011-04-08 16:31:48 - MokbeeAndroid] Dx warning: Ignoring Inner
我有一个java类,它有一些公共(public)方法,我想保留它们。 (这已经完成了)我还有一个包含静态常量的内部类。该类具有以下结构。 public class MyClass { publ
我有两个类:OuterClass 和 InnerClass。 InnerClass 是 OuterClass 的私有(private)成员,应使用 InnerClass(int) 构造函数在 Oute
我在 Android Studio 中构建代码时收到此警告。 它们很少会不显示,但大多数时候会显示。 warning: Ignoring InnerClasses attribute for an a
我是 Android 新手,正在使用 Ical4j 库来解析 ICS(Outlook 日历)文件。 但是,当我在 Eclipse 中构建应用程序时,控制台中多次出现以下警告: [2010-07-22
我有一个用 Java 编写的 REST 服务。我有一个运行良好的 GET 方法,现在我想实现 POST 方法。 @POST @Consumes(MediaType.APPLICATION_JSON)
伙计们。我对 Android 中的 PopupWindow 有疑问。 我有2个Buttons,点击任何一个都会显示一个popupWindow,它是外部类中的一个成员变量。 两个popupWindow的
伙计们。我收到这些错误(其中 504 个): Error:warning: Ignoring InnerClasses attribute for an anonymous inner class E
我最近升级到 Android Studio 3.1,并在使用 Java 项目构建 Kotlin 时收到以下警告。 InnerClass annotations are missing correspo
我正在尝试从 ClassB 访问 ClassA 中定义的内部类 Class1 ClassB.java public class ClassB implements Initializable {
我对在实例上调用 new 的可能性感到困惑,比如 InnerClass sc = pc.new InnerClass(); 我知道如何使用它,但我的问题是关于完全理解它。喜欢: JAVA文档中哪里有描
我正在尝试逐步执行名为 SVNPublisher 的 Hudson 插件的代码。我检查了 SVNPublisher 的代码,使用 Netbeans 打开项目,然后单击“调试主项目”。这导致 Firef
这是我的 java 文件的样子: public class MyActivity { public class MyVector {
我是一名优秀的程序员,十分优秀!