我们经常遇到有jar文件但是却没有jad文件的情况,这时候如果你想使用模拟器来运行恐怕麻烦一些。当然你可以根据jar文件中的Manifest.mf文件,自己手写jad文件。需要注意的是自己手写的时候一定不能忽略如下两个参数:MIDlet-Jar-Size和MIDlet-Jar-URL。
互联网上也有一些工具可以根据jar文件自动生成jad文件。下面我们使用java来实现一个简单的jad文件生成器。解决这个问题的关键在于使用java.util.jar包提供的api解析jar包,然后将其Manifest文件中的内容写入到一个新的文件中,最后把MIDlet-Jar-Size和MIDlet-Jar-URL写入到jad文件中。参考源码如下所示:
package com.j2medev.parsejar;
import java.io.*;import java.util.jar.*;import java.util.*;
public class JarParser {
/** * @param args */
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
File file = new File("c:\\simple.jar");
if (!file.exists()) { System.exit(0); }
JarFile jar = new JarFile(file);
Manifest mf = jar.getManifest();
Attributes att = mf.getMainAttributes();
PrintWriter jad = new PrintWriter( new FileOutputStream("c:\\simple.jad"));
Set key = att.keySet();
Iterator iterator = key.iterator();
while (iterator.hasNext()) {
String k = iterator.next().toString();
String v = (String) att.getValue(k);
jad.println(k + ": " + v);
}
jad.println("MIDlet-Jar-Size: "+file.length());
jad.println("MIDlet-Jar-URL: simple.jar");
jad.close();
}
}
程序已经调试通过,如果有兴趣可以完善一下,添加一个图形用户界面。这样更容易操作。