diff --git a/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java b/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java index 6786633ce58..20e898150ad 100644 --- a/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java +++ b/jadx-core/src/main/java/jadx/core/dex/nodes/ClassNode.java @@ -469,6 +469,9 @@ public List getFields() { } public void addField(FieldNode fld) { + if (fields == Collections.EMPTY_LIST) { + fields = new ArrayList<>(); + } fields.add(fld); } diff --git a/jadx-core/src/main/java/jadx/core/utils/android/AndroidResourcesUtils.java b/jadx-core/src/main/java/jadx/core/utils/android/AndroidResourcesUtils.java index 48d52db025c..3791c33fcbd 100644 --- a/jadx-core/src/main/java/jadx/core/utils/android/AndroidResourcesUtils.java +++ b/jadx-core/src/main/java/jadx/core/utils/android/AndroidResourcesUtils.java @@ -129,7 +129,7 @@ private static void addResourceFields(ClassNode resCls, ResourceStorage resStora FieldNode newResField = new FieldNode(typeCls, rFieldInfo, AccessFlags.PUBLIC | AccessFlags.STATIC | AccessFlags.FINAL); newResField.addAttr(new EncodedValue(EncodedType.ENCODED_INT, resource.getId())); - typeCls.getFields().add(newResField); + typeCls.addField(newResField); if (rClsExists) { newResField.addInfoComment("Added by JADX"); }