Tencent/matrix · error · TaskExecuteException
e.getMessage()
Error message
e.getMessage()
What it means
Raised in ResProguardCheckTask.call(): an unexpected exception (I/O or traversal error while listing resource directories) aborts the task and the catch block rethrows it as a TaskExecuteException carrying e.getMessage(). The job framework then records the task as failed rather than letting the raw exception escape the executor.
Solutions
- Inspect the wrapped e.getMessage() to find the failure while scanning res subdirectories
- Ensure the res directory and its entries are readable
- Re-run after fixing the underlying IO error
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at matrix/matrix-android/matrix-apk-canary/src/main/java/com/tencent/matrix/apk/model/task/ResProguardCheckTask.java:104 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Tencent/matrix@3b8293bd65 (2026-09-08).
Data as JSON: /api/errors/4c297b7f21ee2832.
Report an issue: GitHub.
Appendix: source
Thrown at matrix/matrix-android/matrix-apk-canary/src/main/java/com/tencent/matrix/apk/model/task/ResProguardCheckTask.java:104
File[] dirs = resDir.listFiles();
boolean hasProguard = true;
for (File dir : dirs) {
if (dir.isDirectory() && !fileNamePattern.matcher(dir.getName()).matches()) {
hasProguard = false;
Log.i(TAG, "directory " + dir.getName() + " has a non-proguard name!");
break;
}
}
((TaskJsonResult) taskResult).add("hasResProguard", hasProguard);
} else {
throw new TaskExecuteException(TAG + "---No resource directory found!");
}
}
taskResult.setStartTime(startTime);
taskResult.setEndTime(System.currentTimeMillis());
return taskResult;
} catch (Exception e) {
throw new TaskExecuteException(e.getMessage(), e);
}
}
}
View on GitHub (pinned to 3b8293bd65)