diff --git a/tools/maketext/src/com/android/inputmethod/latin/maketext/JarUtils.java b/tools/maketext/src/com/android/inputmethod/latin/maketext/JarUtils.java index 366d73e20..07a6c300e 100644 --- a/tools/maketext/src/com/android/inputmethod/latin/maketext/JarUtils.java +++ b/tools/maketext/src/com/android/inputmethod/latin/maketext/JarUtils.java @@ -27,14 +27,13 @@ import java.util.jar.JarEntry; import java.util.jar.JarFile; public class JarUtils { - private static final String MANIFEST = "META-INF/MANIFEST.MF"; - private JarUtils() { // This utility class is not publicly instantiable. } - public static JarFile getJarFile(final ClassLoader loader) { - final URL resUrl = loader.getResource(MANIFEST); + public static JarFile getJarFile(final Class mainClass) { + final String mainClassPath = "/" + mainClass.getName().replace('.', '/') + ".class"; + final URL resUrl = mainClass.getResource(mainClassPath); if (!resUrl.getProtocol().equals("jar")) { throw new RuntimeException("Should run as jar"); } diff --git a/tools/maketext/src/com/android/inputmethod/latin/maketext/LabelText.java b/tools/maketext/src/com/android/inputmethod/latin/maketext/LabelText.java index a5abcf1c1..4a9236962 100644 --- a/tools/maketext/src/com/android/inputmethod/latin/maketext/LabelText.java +++ b/tools/maketext/src/com/android/inputmethod/latin/maketext/LabelText.java @@ -58,7 +58,7 @@ public class LabelText { public static void main(final String[] args) { final Options options = new Options(args); - final JarFile jar = JarUtils.getJarFile(LabelText.class.getClassLoader()); + final JarFile jar = JarUtils.getJarFile(LabelText.class); final MoreKeysResources resources = new MoreKeysResources(jar); resources.writeToJava(options.mJava); } diff --git a/tools/maketext/src/com/android/inputmethod/latin/maketext/MoreKeysResources.java b/tools/maketext/src/com/android/inputmethod/latin/maketext/MoreKeysResources.java index a4835932b..37ac0d006 100644 --- a/tools/maketext/src/com/android/inputmethod/latin/maketext/MoreKeysResources.java +++ b/tools/maketext/src/com/android/inputmethod/latin/maketext/MoreKeysResources.java @@ -100,7 +100,7 @@ public class MoreKeysResources { final File outputFile = new File(outPackage, JAVA_TEMPLATE.replace(".tmpl", ".java")); outPackage.mkdirs(); - ps = new PrintStream(outputFile); + ps = new PrintStream(outputFile, "UTF-8"); } lnr = new LineNumberReader(new InputStreamReader(JarUtils.openResource(template))); inflateTemplate(lnr, ps);