如果我有以下规则......
-keep class com.mycompany.myapp.** { *; }
......然后是以下两条规则已过时且不必要......
-keep public class com.mycompany.myapp.** { *; }
-keep class com.mycompany.myapp.SomeClass$* { *; }
即。前一条规则是否取代并包括后两条?
答案 0 :(得分:1)
你是对的
package com.mycompany.myapp;
public class Main {
public static void main(String[] args) { new Main().init(); }
private void init(){
PackageInnerClass pic1 = new Main.PackageInnerClass();
PublicInnerClass pic2 = new Main.PublicInnerClass();
PrivateInnerClass pic3 = new Main.PrivateInnerClass();
}
class PackageInnerClass { void method1() { System.out.println("Method 1"); } }
public class PublicInnerClass { void method2() { System.out.println("Method 2"); } }
private class PrivateInnerClass { void method3() { System.out.println("Method 3"); } }
}
覆盖其他两条规则。这是一个例子:
在Proguard之前:
{{1}}
唯一的区别是类被移动到它们自己的.class文件中。但在功能上他们是一样的。