Tencent/matrix · error · TaskInitException

---APK-UNZIP-PATH ' ' is not exist!

Error message

---APK-UNZIP-PATH '<inputPath>' is not exist!

What it means

Thrown from ResProguardCheckTask.init() when the configured unzip path exists as a string but the corresponding File does not exist on disk. The task needs the actual extracted APK tree; a stale or wrong path (e.g. pointing at a deleted temp directory) causes this TaskInitException before any scanning starts.

Solutions

  1. Check the configured unzip path for typos
  2. Run the unpack step of the job first so the directory exists before this task's init()
  3. Fix filesystem permissions if the path exists but is inaccessible
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at matrix/matrix-android/matrix-apk-canary/src/main/java/com/tencent/matrix/apk/model/task/ResProguardCheckTask.java:62 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/2c1857d88562af55. 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:62

    private File inputFile;
    private Pattern fileNamePattern;

    public ResProguardCheckTask(JobConfig config, Map<String, String> params) {
        super(config, params);
        type = TASK_TYPE_CHECK_RESGUARD;
    }

    @Override
    public void init() throws TaskInitException {
        super.init();
        String inputPath = config.getUnzipPath();
        if (Util.isNullOrNil(inputPath)) {
            throw new TaskInitException(TAG + "---APK-UNZIP-PATH can not be null!");
        }
        Log.i(TAG, "inputPath:%s", inputPath);
        inputFile = new File(inputPath);
        if (!inputFile.exists()) {
            throw new TaskInitException(TAG + "---APK-UNZIP-PATH '" + inputPath + "' is not exist!");
        } else if (!inputFile.isDirectory()) {
            throw new TaskInitException(TAG + "---APK-UNZIP-PATH '" + inputPath + "' is not directory!");
        }
        fileNamePattern = Pattern.compile("[a-z_0-9]{1,3}");
    }



    @Override
    public TaskResult call() throws TaskExecuteException {
        File resDir = new File(inputFile, ApkConstants.RESOURCE_DIR_PROGUARD_NAME);
        try {
            TaskResult taskResult = TaskResultFactory.factory(getType(), TASK_RESULT_TYPE_JSON, config);
            if (taskResult == null) {
                return null;
            }
            long startTime = System.currentTimeMillis();
            if (resDir.exists() && resDir.isDirectory()) {

View on GitHub (pinned to 3b8293bd65)