2

この方法でアクセスするリソースを削除しないように dexguard で苦労しています。

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

アプリケーションを実行すると、次の例外が発生します。

java.lang.RuntimeException: アクティビティ android.content.res.Resources$NotFoundException: android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) での配列リソース ID #0x0 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) 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