我在我的应用程序中使用了一个简单的XML序列化程序,似乎已经通过在proguard.cfg中使用以下行成功地将其从Proguard混淆中排除,这要归功于这个SO问题:
-keep public class org.simpleframework.**{ *; }
-keep class org.simpleframework.xml.**{ *; }
-keep class org.simpleframework.xml.core.**{ *; }
-keep class org.simpleframework.xml.util.**{ *; }
Run Code Online (Sandbox Code Playgroud)
我可以签名并导出apk,但是当我尝试运行我的应用程序时,在尝试访问res/raw目录(R.raw.home_screen_menu)中的XML文件时,它会因NullPointerException而崩溃.
我将R.java排除在外:
-keepclassmembers class **.R$* {
public static <fields>;
}
Run Code Online (Sandbox Code Playgroud)
我整天都在玩这个配置文件,但没有任何运气.有没有人遇到过这个问题或类似的问题?我尝试过的最新事情是使用如下所示的"adaptresource"选项:
-adaptresourcefilenames **.xml
-adaptresourcefilecontents **.xml
Run Code Online (Sandbox Code Playgroud)
作为参考,这是我的proguard.cfg的内容:
#Use 5 step of optimization
-optimizationpasses 5
#When not preverifing in a case-insensitive filing system, such as Windows. This tool will unpack your processed jars,(if using windows you should then use):
-dontusemixedcaseclassnames
#Specifies not to ignore non-public library …
Run Code Online (Sandbox Code Playgroud)