Android生成jar-----windows命令行

一、编译目录

方法一、使用AS等编译工具进行编译成.class文件,在App\build\intermediates\classes\release\tztSztLevel2SDK的目录下

方法二、进入源文件夹进行编译 
cd tztSztLevel2SDK 
cd src (然后进入src源文件夹) 
javac *.java 
(可以指定输出目录,javac -d ..\classes *.java)

方法三、不进入源文件夹进行编译 
cd tztSztLevel2SDK (不进入src源文件夹) 
javac -sourcepath src src*.java 
注意:使用javac -sourcepath src *.java不行!
(可以指定输出目录,javac -sourcepath src -d classes src*.java)

说明: 
1、javac可以使用-sourcepath选项指定“查找输入源文件的位置”,使用-d选项指定“存放生成的类文件的位置”。但在使用-sourcepath选项时有一点要注意,指定了-sourcepath仍然要以当前目录为起点指定待编译的源文件。(如“src*.java”,不能以-sourcepath为起点指定源文件,如“*.java”)
2、使用*.java编译时,无须自己检查包依赖关系(如在llh包中,有llh.A_package中的类文件引用了llh.B_package中的类),编译时会自动将输出目录(如src或classes目录)加入到classpath中,不用指定-classpath classes选项。
另外,使用javac *.java可以,使用javac src*.java不行,因为不指定-sourcepath选项则默认把当前目录作为源文件夹,即相当于-sourcepath .。必须使用javac -sourcepath src src*.java。

 

二、进入对应需要打jar的目录,输入命令: jar -cvf tztSztLevel2SDK.jar . (注意空格)
    jar 是打jar的命令符;
    -cvf 是打jar时的参数,写上就可以;
    tztSztLevel2SDK.jar 是打成后的jar包名称;

    *.*   是指将当前目录所有的文件都打入jar包;
    ./cn  是指将当前目录下的cn文件打jar包;
    c:/cn 是指将c盘目录下的cn文件打jar包;

例子1:
现需要将C:\workspace\Auto\target\tztSztLevel2SDK目录下的文件打jar包
1.打开cmd,cd C:\workspace\Auto\target\tztSztLevel2SDK进入目录
2.输入命令: jar -cvf tztSztLevel2SDK.jar .
3.C:\workspace\Auto\target\tztSztLevel2SDK目录下tztSztLevel2SDK.jar
该方法打出的jar,里面的jar文件


例子2:
现需要将C:\workspace\Auto\target\tztSztLevel2SDK目录下的class文件打jar包
1.打开cmd,cd C:\workspace\Auto\target进入目录(target目录下是tztSztLevel2SDK目录)
2.输入命令: jar -cvf tztSztLevel2SDK.jar .
3.C:\workspace\Auto\target\tztSztLevel2SDK目录下tztSztLevel2SDK.jar
即jar的目录要包括tztSztLevel2SDK,否则使用时可能找不到类

猜你喜欢

转载自blog.csdn.net/pangjl1982/article/details/85318920