2

我很难使用 dexguard 使其不删除我以这种方式访问​​的资源:

int resourceId=getResources().getIdentifier("图片", "array", getActivity().getPackageName());

当我执行应用程序时,出现以下异常:

java.lang.RuntimeException:无法启动活动 android.content.res.Resources$NotFoundException:数组资源 ID #0x0 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread .java:2387) 在 android.app.ActivityThread.access$800(ActivityThread.java:151) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 在 android.os.Handler.dispatchMessage(Handler.java :102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5254) 在 java.lang.reflect.Method.invoke(Native Method) 在 java。 lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os。ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 原因:android.content.res.Resources$NotFoundException:数组资源 ID #0x0

我在 proguard-project.txt 中使用了这个指令,这些指令是从堆栈溢出的一些相关问题中提取的,但什么也没解决:

-keepclassmembers class **.R$* {
    public static <fields>;
}

-keep class **.R$*

我怎样才能告诉 dexguard 不要剥离这个资源?

提前致谢。

4

1 回答 1

2

好吧,在与 dexguard 创建者交谈之后,这似乎可以通过使用来实现:

-keepresources array/pictures
-keepresources array/a_*

希望其他人会觉得这很有用

干杯。

于 2015-07-09T10:30:38.663 回答