skylot/jadx · error · RuntimeException

Class not found: {}

Error message

Class not found: {}

What it means

Error "Class not found: {}" thrown in skylot/jadx.

Source

Thrown at jadx-gui/src/main/java/jadx/gui/cache/code/disk/adapters/FieldNodeAdapter.java:32

	public FieldNodeAdapter(RootNode root) {
		this.root = root;
	}

	@Override
	public void write(DataOutput out, FieldNode value) throws IOException {
		FieldInfo fieldInfo = value.getFieldInfo();
		out.writeUTF(fieldInfo.getDeclClass().getRawName());
		out.writeUTF(fieldInfo.getShortId());
	}

	@Override
	public FieldNode read(DataInput in) throws IOException {
		String cls = in.readUTF();
		String sign = in.readUTF();
		ClassNode clsNode = root.resolveRawClass(cls);
		if (clsNode == null) {
			throw new RuntimeException("Class not found: " + cls);
		}
		FieldNode fieldNode = clsNode.searchFieldByShortId(sign);
		if (fieldNode == null) {
			throw new RuntimeException("Field not found: " + cls + "." + sign);
		}
		return fieldNode;
	}
}

View on GitHub (pinned to e738a26571)

Solutions

  1. Check the code cache for the class before resolving the field's declaring class; if absent, rebuild or invalidate the cache entry instead of throwing.
  2. Handle stale cache entries by catching the lookup failure and forcing a re-decompilation of the containing class.

When it happens

Trigger: Thrown at jadx-gui/src/main/java/jadx/gui/cache/code/disk/adapters/FieldNodeAdapter.java:32 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of skylot/jadx@e738a26571 (2026-08-14). Data as JSON: /api/errors/38897412292d18b7. Report an issue: GitHub.