{"record":{"id":"0408ac9eb40e01c6","repo":"Tencent/matrix","slug":"tag-apk-unzip-path-can-not-be-null","errorCode":null,"errorMessage":"TAG + \"---APK-UNZIP-PATH can not be null!\"","messagePattern":"TAG \\+ \"---APK-UNZIP-PATH can not be null!\"","errorType":"exception","errorClass":"TaskInitException","httpStatus":null,"severity":"error","filePath":"matrix/matrix-android/matrix-apk-canary/src/main/java/com/tencent/matrix/apk/model/task/ShowFileSizeTask.java","lineNumber":70,"sourceCode":"    private static final String TAG = \"Matrix.ShowFileSizeTask\";\n    private File inputFile;\n    private String order = JobConstants.ORDER_DESC;\n    private long             downLimit;\n    private Set<String> filterSuffix;\n    private List<Pair<String, Long>> entryList;\n\n\n    public ShowFileSizeTask(JobConfig jobConfig, Map<String, String> params) {\n        super(jobConfig, params);\n        type = TASK_TYPE_SHOW_FILE_SIZE;\n    }\n\n    @Override\n    public void init() throws TaskInitException {\n        super.init();\n        String inputPath = config.getUnzipPath();\n        if (Util.isNullOrNil(inputPath)) {\n            throw new TaskInitException(TAG + \"---APK-UNZIP-PATH can not be null!\");\n        }\n        Log.i(TAG, \"inputPath:%s\", inputPath);\n        inputFile = new File(inputPath);\n        if (!inputFile.exists()) {\n            throw new TaskInitException(TAG + \"---APK-UNZIP-PATH '\" + inputPath + \"' is not exist!\");\n        } else if (!inputFile.isDirectory()) {\n            throw new TaskInitException(TAG + \"---APK-UNZIP-PATH '\" + inputPath + \"' is not directory!\");\n        }\n        if (params.containsKey(JobConstants.PARAM_MIN_SIZE_IN_KB)) {\n            try {\n                downLimit = Long.parseLong(params.get(JobConstants.PARAM_MIN_SIZE_IN_KB));\n            } catch (NumberFormatException e) {\n                Log.e(TAG, \"DOWN-LIMIT-SIZE '\" + params.get(JobConstants.PARAM_MIN_SIZE_IN_KB) + \"' is not number format!\");\n            }\n        }\n\n        if (params.containsKey(JobConstants.PARAM_ORDER)) {\n            if (JobConstants.ORDER_ASC.equals(params.get(JobConstants.PARAM_ORDER))) {","sourceCodeStart":52,"sourceCodeEnd":88,"githubUrl":"https://github.com/Tencent/matrix/blob/3b8293bd65d47eeea7caf1f32a3a5d4d5eab60e7/matrix/matrix-android/matrix-apk-canary/src/main/java/com/tencent/matrix/apk/model/task/ShowFileSizeTask.java#L52-L88","documentation":"Thrown from ShowFileSizeTask.init() when the unzip path configured in the JobConfig is null or empty. The task enumerates and sorts file sizes inside the extracted APK directory, so a missing path is a configuration error raised as TaskInitException before execution.","triggerScenarios":"Thrown at matrix/matrix-android/matrix-apk-canary/src/main/java/com/tencent/matrix/apk/model/task/ShowFileSizeTask.java:70 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set the APK unzip path in the JobConfig (e.g. -input parameter) before running","Ensure config.getUnzipPath() is populated by the unpack step"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3b8293bd65d47eeea7caf1f32a3a5d4d5eab60e7","analyzedAt":"2026-09-08T08:01:39.722Z","contentChangedAt":"2026-09-08T08:01:39.722Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}