fix(android): preserve binary class selectors across metadata calls

This commit is contained in:
morluto committed 2026-10-24 16:53:59 +08:00
1 parent e3a6ce40f5
commit 8d72e2d75e
11 files changed
+232 -10

No files matched your search

+6 -3
View File
@@ -91,7 +91,10 @@ const classSummary = async (
{ cause: summary.error },
);
const value = summary.data;
if (value.full_name !== request.input.class_name)
if (
value.full_name !== request.input.class_name &&
value.raw_name !== request.input.class_name
)
inputFailure(
request,
"class_name",
@@ -233,7 +236,7 @@ const inspectMethod = async (
);
const body = jadxMethodSchema.parse(
await tools.json("get_method_body", {
class_name: summary.full_name,
class_name: request.input.class_name,
method_name: request.input.method_name,
overload_index: index,
smali_fallback: true,
@@ -327,7 +330,7 @@ const traceReferences = async (
await tools.json(
methodName === undefined ? "get_xrefs_to_class" : "get_xrefs_to_method",
{
class_name: summary.full_name,
class_name: request.input.class_name,
...(methodName === undefined
? {}
: { method_name: methodName, overload_index: index }),
+2 -1
View File
@@ -80,7 +80,8 @@ export const parseJadxClassPage = (value: JsonValue): JadxClassPage => {
};
export const jadxClassSchema = z.object({
full_name: z.string(),
full_name: z.string().min(1),
raw_name: z.string().min(1),
name: z.string(),
method_count: count,
field_count: count,
+1 -1
View File
@@ -9,7 +9,7 @@ export const JADX_RELEASE = Object.freeze({
/** Identity of REA's metadata bridge, distinct from the producing engine. */
export const JADX_BRIDGE_IDENTITY = Object.freeze({
name: "rea-jadx-bridge",
version: "5",
version: "6",
});
/** Remediation when `REA_JADX_MCP_JAR` is missing or not an absolute path. */