小编Ben*_*ben的帖子

使用Proguard在res/raw中使用XML文件时出现NullPointerException

我在我的应用程序中使用了一个简单的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)

android proguard simple-framework

3
推荐指数
1
解决办法
1538
查看次数

标签 统计

android ×1

proguard ×1

simple-framework ×1