{"record":{"id":"1cf9b42371c1e7a9","repo":"pxb1988/dex2jar","slug":"no-odex","errorCode":null,"errorMessage":"no odex","messagePattern":"no odex","errorType":"exception","errorClass":"HelpException","httpStatus":null,"severity":"error","filePath":"dex-tools/src/main/java/com/googlecode/dex2jar/tools/DexWeaverCmd.java","lineNumber":44,"sourceCode":"    private Path config;\n    @Opt(opt = \"s\", longOpt = \"stub-dex\", description = \"stub dex\", argName = \"stub\")\n    private Path stub;\n\n    static Method parseMethod(String str) {\n        int i = str.indexOf('.');\n        String owner = str.substring(0, i);\n        int j = str.indexOf('(', i);\n        String name = str.substring(i + 1, j);\n        i = str.indexOf(')', j);\n        String args = str.substring(j + 1, i);\n        String ret = str.substring(i + 1);\n        return new Method(owner, name, Utils.toTypeList(args), ret);\n    }\n\n    @Override\n    protected void doCommandLine() throws Exception {\n        if (remainingArgs.length == 0) {\n            throw new HelpException(\"no odex\");\n        }\n\n        final Map<String, Method> map = new HashMap<>();\n        for (String ln : Files.readAllLines(config, StandardCharsets.UTF_8)) {\n            if (ln.startsWith(\"#\") || ln.length() == 0) {\n                continue;\n            }\n            String[] x = ln.split(\"=\");\n            map.put(x[0], parseMethod(x[1]));\n        }\n\n        DexFileWriter out = new DexFileWriter();\n        DexFileVisitor fv = new DexFileVisitor(out) {\n            @Override\n            public DexClassVisitor visit(int access_flags, String className, String superClass, String[] interfaceNames) {\n                DexClassVisitor dcv = super.visit(access_flags, className, superClass, interfaceNames);\n                if (dcv != null) {\n                    return new DexClassVisitor(dcv) {","sourceCodeStart":26,"sourceCodeEnd":62,"githubUrl":"https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/dex-tools/src/main/java/com/googlecode/dex2jar/tools/DexWeaverCmd.java#L26-L62","documentation":"Usage guard in DexWeaverCmd.doCommandLine: no positional odex file argument was given. DexWeaverCmd requires at least one odex input to weave, so running the command with zero remaining args aborts with this HelpException before any work starts.","triggerScenarios":"Thrown at dex-tools/src/main/java/com/googlecode/dex2jar/tools/DexWeaverCmd.java:44 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-run d2j-dex-weaver supplying the required odex file path as a positional argument","Run the command with -h/--help to see the full syntax and option list"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b5bda4fb4935ae8b3869b422454ae3b3896c7bc1","analyzedAt":"2026-09-08T00:44:01.258Z","contentChangedAt":"2026-09-08T00:44:01.258Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}