android引用的java包_Android开发中jar包的创建及引用
jar包有兩種,一種是純粹的庫(kù)功能,沒(méi)有main入口函數(shù),故無(wú)法直接執(zhí)行;一種是包含main的可執(zhí)行包!
如有hello/hello.java文件:
$ cd hello/$ javac hello.java$ java Hello (Hello為類名,如果Hello類具有main函數(shù)的話,可以這么執(zhí)行)
第一種jar包命令:
jar cvf hello.jar hello
或者
$ jar cvf hello.jar hello/*.class
通過(guò)如下命令查看兩個(gè)jar的內(nèi)容:
$ jar tf hello.jarMETA-INF/META-INF/MANIFEST.MFhello/hello/hello.class
顯示結(jié)果是一樣的。
對(duì)于第二種可執(zhí)行jar包,方法其實(shí)可以跟第一種一樣,然后再修改MANIFEST.MF文件。
在MANIFEST.MF文件中只需要添加一行:
Main-Class: 可執(zhí)行主類全名(即包含main函數(shù)的類名稱)
即可。
但也可以預(yù)先創(chuàng)建MANIFEST.MF文件,內(nèi)容跟上面一樣,讓該文件與hello目錄保持在同一級(jí),然后:
$ jar cvfm hello.jar MANIFEST.MF hello
然后就可以通過(guò):
$ java -jar hello.jar
運(yùn)行了。
===================
在實(shí)際項(xiàng)目中,可能需要很多個(gè)類文件,建議每個(gè)類文件均放到一個(gè)獨(dú)立的文件之中,文件名與該類名應(yīng)一致,類的聲明為“public class xxx”(當(dāng)然也可以將很多個(gè)類放到同一個(gè)文件中,但只有一個(gè)類能聲明成public(即與文件名一致的那個(gè)類),這將導(dǎo)致其它未聲明為public的類 無(wú)法為其它程序調(diào)用)。
比如有兩個(gè)位于同一目錄的類文件(它們之間有調(diào)用關(guān)系),將會(huì)被打包成sp_sdk.jar作為庫(kù)文件使用,文件目錄關(guān)系如下:
$ ls -l sp/android/printer-rw-r--r-- 1 zwang zwang ?944 2011-06-25 17:52 FontProperty.class-rw-r--r-- 1 zwang zwang 1319 2011-06-25 17:51 FontProperty.java-rw-r--r-- 1 zwang zwang 5498 2011-06-25 17:53 PrintGraphics.class-rw-r--r-- 1 zwang zwang 5751 2011-06-25 17:51 PrintGraphics.java
各個(gè)java文件的開(kāi)頭需要聲明如下(否則其它文件無(wú)法import這兩個(gè)類):
package sp.android.printer;
然后編譯命令是:
$ javac sp/android/printer/FontProperty.java $ javac sp/android/printer/PrintGraphics.java
注意編譯的位置,因?yàn)楦髯砸呀?jīng)聲明了“package sp.android.printer;”,所以直接進(jìn)入到sp/android/printer/目錄下是編譯不過(guò)的。
然后生成jar文件:
$ tar cvf sp_sdk.jar sp
然后就可以創(chuàng)建測(cè)試程序調(diào)用該庫(kù)了(測(cè)試程序里面就可以“import sp.android.printer.*”了)。
假如測(cè)試程序test.java與sp_sdk.jar同一目錄,編譯及運(yùn)行命令:
$ javac test.java$ java Test
如果不在同一目錄,編譯及運(yùn)行命令:
$ javac -classpath .:/path/to/sp_sdk.jar test.java$ java -cp .:/path/to/sp_sdk.jar Test
最后總結(jié)一下,android平臺(tái)為我們開(kāi)發(fā)提供了極大的便利這里給大家展示的只是冰山一角,我們可以盡情的發(fā)揮想象,創(chuàng)造我們自己的功能
總結(jié)
以上是生活随笔為你收集整理的android引用的java包_Android开发中jar包的创建及引用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java中运算类型_Java数据类型及运
- 下一篇: java状态模式例子答案_[转载]jav