【发布时间】:2015-01-11 20:17:34
【问题描述】:
我的 gradle 项目包含一个主模块和一个库
库的一个类包含一个枚举,我已将其排除在 proguard 混淆之外,因为它在主项目中使用。
Gradle 在构建时失败,并出现“错误。找不到符号变量 MyEnum”,同样的错误也出现在另一个接口上,该接口也在类中声明
我已经反编译了我的库的 classes.jar 文件,该文件是在构建时生成的,并且枚举恰好位于“无法找到”的位置,即 MyClass$MyEnum。 “MyClass”类在编译后仍然存在于它的正确位置。
这是我用于枚举的 proguard 代码:
-keep,allowoptimization enum com.mypackage.MyClass$MyEnum {
public static **[] values();
public static ** valueOf(java.lang.String);
**[] $VALUES;
public *;
}
我不允许发布任何代码
在使用 proguard 时,内部类有什么特别的技巧吗?
【问题讨论】:
标签: android enums gradle proguard inner-classes