java 命令行打包

来源:互联网 发布:沈阳用友软件代理商 编辑:程序博客网 时间:2024/05/22 15:23

命令行打包:

首先生成.class文件

javac -cp D:\adt-b

undle-windows-x86-20140702\adt-bundle-windows-x86-20140702\sdk\platforms\android

-20\android.jar ./ToastUtil.java

 

-cp引入你需要的jar。一般情况下,你会需要android.jar

 

ToastUtil.java是将此java文件打为class文件。

 

第二步,生成jar文件

jar cvf ToastUtil.jar ToastUtil.class 则生成了jar文件。

解压缩,看一下jar里边的结构:

 

 

Javac和jar还有很多可扩展的,这里就不一一介绍了,我们将重点放在ant上。逼格更高么。

 

 

 

 

Ant first demo

<?xmlversion="1.0"encoding="UTF-8"?> <!-- 中的第一句话,没有实际的意义 -->

<projectname="HelloWorld"default="run"basedir="."><!-- ant的所有内容必须包含在这个里边,name是你给它取的名字,basedir故名思意就是工作的根目录 .代表当前目录。default代表默认要做的事情。 -->

 

<!-- 变量,跟编程语言里边的变量一样 -->

<propertyname="src"value="src"/>

<propertyname="dest"value="classes"/>

<propertyname="hello_jar"value="hello1.jar"/>

 

<!-- 新建一个src的文件夹,然后把HelloWorld.java按照包目录放进去 -->

<targetname="init">

  <mkdirdir="${dest}"/>

</target>

 

<!-- 编译 -->

<targetname="compile"depends="init">

  <javacsrcdir="${src}"destdir="${dest}"/>

</target>

 

<!-- 构建jar -->

<targetname="build"depends="compile">

  <jarjarfile="${hello_jar}"basedir="${dest}"/>

</target>

 

<!-- 运行 -->

<targetname="run"depends="build">

  <javaclassname="test.ant.HelloWorld"classpath="${hello_jar}"/>

</target>

 

<!-- clean 删掉上次构建生成的文件 -->

<targetname="clean">

  <deletedir="${dest}"/>

  <deletefile="${hello_jar}"/>

</target>

 

<!-- 重新生成 -->

<targetname="rerun"depends="clean,run">

  <anttarget="clean"/>

  <anttarget="run"/>

</target>

</project>

 

 

工程目录:

 

打包结果:(解压缩之后:)

 

 


 

把第三方jar包打入到工程里边来,进行run的时候,可以执行.

如果被另外一个工程引入,但该工程并没有引入jar引入的jar包,则会报nocalldeffonderror的bug.很奇怪.

0 0
原创粉丝点击