Tencent/matrix · error · TaskInitException

TAG + "---APK-UNZIP-PATH '" + inputPath + "' is not exist!"

Error message

TAG + "---APK-UNZIP-PATH '" + inputPath + "' is not exist!"

What it means

Thrown from ShowFileSizeTask.init() when the configured unzip path is non-empty but the File does not exist on disk. The task cannot list sizes of a missing directory, so init fails with TaskInitException — typically a stale or mistyped path in the job configuration.

Solutions

  1. Check the configured unzip path for typos
  2. Run the unpack step first so the directory exists
  3. Fix permissions if the path exists but is not accessible
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/ShowFileSizeTask.java:75 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/45bb5354fc8f8708. Report an issue: GitHub.

Appendix: source

Thrown at matrix/matrix-android/matrix-apk-canary/src/main/java/com/tencent/matrix/apk/model/task/ShowFileSizeTask.java:75

    private List<Pair<String, Long>> entryList;


    public ShowFileSizeTask(JobConfig jobConfig, Map<String, String> params) {
        super(jobConfig, params);
        type = TASK_TYPE_SHOW_FILE_SIZE;
    }

    @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!");
        }
        if (params.containsKey(JobConstants.PARAM_MIN_SIZE_IN_KB)) {
            try {
                downLimit = Long.parseLong(params.get(JobConstants.PARAM_MIN_SIZE_IN_KB));
            } catch (NumberFormatException e) {
                Log.e(TAG, "DOWN-LIMIT-SIZE '" + params.get(JobConstants.PARAM_MIN_SIZE_IN_KB) + "' is not number format!");
            }
        }

        if (params.containsKey(JobConstants.PARAM_ORDER)) {
            if (JobConstants.ORDER_ASC.equals(params.get(JobConstants.PARAM_ORDER))) {
                order = JobConstants.ORDER_ASC;
            } else if (JobConstants.ORDER_DESC.equals(params.get(JobConstants.PARAM_ORDER))) {
                order = JobConstants.ORDER_DESC;
            } else {
                Log.e(TAG, "ORDER-BY '" + params.get(JobConstants.PARAM_ORDER) + "' is not correct!");

View on GitHub (pinned to 3b8293bd65)