sbool javaxToDex_verbose; // src = JavaX source without the "!752" on top static void javaxToDex(S src, File dexFile) { if (javaxToDex_verbose) print("Downloading libraries"); File dxJar = loadLibrary("#1004106"); // 1 MB File supportJar = loadLibrary("#1004107"); // 1 MB File androidJar = loadLibrary("#1004108"); // Huge (26 MB) S libs = "lib 1004106\n" + "lib 1004107\n " + "lib 1004108\n"; src = libs + src; if (javaxToDex_verbose) print("\n" + indent(libs + src) + "\n"); if (javaxToDex_verbose) print("Transpiling & compiling"); File classesDir = javaxToClasses(libs + src); if (javaxToDex_verbose) print("Making dex"); S cmd = "java -jar " + bashQuote(dxJar) + " --dex --output=" + bashQuote(dexFile) + " " + bashQuote(classesDir + "/") + " 2>&1"; if (javaxToDex_verbose) print(cmd); S output = backtick(cmd); if (javaxToDex_verbose) print(output); if (javaxToDex_verbose) print(); if (!dexFile.exists()) fail("Crazy! No dex made.\n" + output); if (javaxToDex_verbose) print("Dex made! " + dexFile.getAbsolutePath() + " (" + dexFile.length() + " bytes)"); }