Java Proguard使android应用程序中R类的反射不再工作
我已经在我的项目中激活了proguard,因为我正试图在Google Play上发布它。尽管proguard-android.txtJava Proguard使android应用程序中R类的反射不再工作,java,android,release,proguard,Java,Android,Release,Proguard,我已经在我的项目中激活了proguard,因为我正试图在Google Play上发布它。尽管proguard-android.txt -keepclassmembers class **.R$* { public static <fields>; 因为subClass.length是0 如果不混淆的话,这个东西工作得很好,所以我认为问题出在proguard上 我尝试了不同的方法,使其不会像这样混淆R类: -keep public class headwayEnt.HotshotEn
-keepclassmembers class **.R$* {
public static <fields>;
因为subClass.length是0
如果不混淆的话,这个东西工作得很好,所以我认为问题出在proguard上
我尝试了不同的方法,使其不会像这样混淆R类:
-keep public class headwayEnt.HotshotEngine.Resource.ENG_Resource { *; }
-keep class headwayEnt.HotshotEngine.** { *; }
-keep class **.R$*
-keep public class headwayEnt.Blackhole_Darksun.R { *; }
-keep public class headwayEnt.Blackhole_Darksun_Full.R { *; }
-repackageclasses ''
-keep public class **.R {
public *;
}
-keep public class **.R$* {
public *;
}
但仍然不起作用
我必须提到,我所有的代码都在一个库(headhayent.Blackhole\u Darksun)中,我在headhayent.Blackhole\u Darksun\u Full中引用了该库。基本上,我用相同的代码构建了两个版本,一个用于完整版本,另一个用于免费演示。所有这些混淆都发生在应用程序中,而不是在引用的库中(只是为了澄清)。这应该可以:
-keepattributes InnerClasses
-keep class **.R
-keep class **.R$* {
<fields>;
}
-keepattributes innerClass
-继续上课**
-继续上课**.R$*{
;
}
从
Class$getDeclaredClasses()
获取任何内容都需要InnerClasses
属性。-keep选项是保留相关类和字段及其原始名称所必需的。几个月来完全忘记了这个问题,现在不得不混淆这个包,你救了我!谢谢谢谢你,埃里克。对我来说很好!非常感谢你。你救了我的命!:)谢谢,像魅力一样工作:)也救了我的命。希望在11小时前找到你((
-keep public class headwayEnt.HotshotEngine.Resource.ENG_Resource { *; }
-keep class headwayEnt.HotshotEngine.** { *; }
-keep class **.R$*
-keep public class headwayEnt.Blackhole_Darksun.R { *; }
-keep public class headwayEnt.Blackhole_Darksun_Full.R { *; }
-repackageclasses ''
-keep public class **.R {
public *;
}
-keep public class **.R$* {
public *;
}
-keepattributes InnerClasses
-keep class **.R
-keep class **.R$* {
<fields>;
}