package com.hello
public class Outer extends Activity{
int a;
int b;
array c;
Boolean bol;
public void onCreate() {
a=1;
b=2;
c=new int[10];
bol=true;
}
class Inner implements Runnable {
public void run() {
if (bol)
for (int e=0;e<10;e++) c[e]=a+b;
}
}
}
我怎么能告诉Progruad保留内部类的名称和内部类中使用的变量,即使它们是在onCreate方法中定义的?
我不想逐个列出每个变量。
答案 0 :(得分:0)
保持内部类:
fetch
保留具有所需公共/受保护/私有/默认访问级别修饰符的字段:
# specific class (in brackets for example we keep all)*
-keep class OuterFQNClassName$InnerClassName { *; }
# all inner classes of outer class
-keep class OuterFQNClassName$** { *; }
# all inner classes
-keepattributes InnerClasses
*命名约定,在内部类和外部类的名称之间使用'$'分隔符
请学习一个proguard docs: