有時候想像exe那樣呢灶,點一下就運行自己想要執(zhí)行的代碼(比如處理文件之類的),對于只學(xué)了android的我來說奴烙,寫exe那是完全不會的,自然的想到了用jar包來達(dá)到目的剖张,下面記錄一下用Android studio 到可執(zhí)行jar包的過程切诀。
1. jar包
- jar包分為可執(zhí)行jar包和不可執(zhí)行jar包
- jar包解壓后都有一個META-INF/MANIFEST.MF文件
- 可執(zhí)行jar包和不可執(zhí)行jar包的區(qū)別是MANIFEST.MF文件里有主類入口配置:Main-Class: com.example.MyClass
- 注意MANIFEST.MF配置后的冒號后有空格
- 可執(zhí)行jar包,直接雙擊就可以運行搔弄,或者同目錄下cmd中執(zhí)行命令:
java -jar jar包名.jar
2. AS打出的jar包是不可執(zhí)行jar包幅虑,需要把轉(zhuǎn)為可執(zhí)行jar包,方便使用顾犹,以下是jar包打可執(zhí)行文件的方法:
- 新建javaLibrary的module倒庵,新建一個類:MyClass
- 寫main函數(shù),我這是生成一個txt文件
public class MyClass {
public static void main(String[] args) {
System.out.println("main is run");
File file = new File("chimu.txt");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
- 然后運行此module炫刷,在build/libs下面就會生成一個jar文件擎宝,這個jar包是不可執(zhí)行的
- 將jar包拷到D盤(或者其它位置隨意),解壓會看到META-INF/MANIFEST.MF文件的打開如下:
Manifest-Version: 1.0
- 增加一行浑玛,注意冒號后面有一個空格,如下:
Manifest-Version: 1.0
Main-Class: com.example.MyClass
- 在jar解壓后的文件夾下 按shift+鼠標(biāo)右鍵 選擇:在此處打開命令窗口 绍申,在cmd中執(zhí)行如下命:
jar -cvmf META-INF\manifest.mf test.jar com
com 是最外層的文件包名;test.jar是jar包名
- 雙擊這個jar包或者執(zhí)行如下語句顾彰,就可以執(zhí)行jar包(我這個jar包嘛就是生成一個txt文檔):
java -jar test.jar