文章來源:https://my.oschina.net/zhoulc/blog/112573 通常我們進行android開發(fā)的時候運用到了兩種格式的jar包文件。 1.在eclipse環(huán)境下,引入第三方j(luò)ar包,指的是通過eclipse工具export出來的包含.class文件的jar包。 2.在源碼環(huán)境下,通過配置Android.mk文件生成的jar包,也是我們在源碼下開發(fā)依賴的jar包文件是包含class.dex的jar包文件。class.dex 是通過Android系統(tǒng)中可以在Dalvik虛擬機上直接運行的文件格式。 兩個jar包之間的轉(zhuǎn)換:1).class=>class.dex dx工具的作用是將.class轉(zhuǎn)換為dex文件 2)class.dex=>.class 可以使用反編譯工具 具體如何通過Eclipse 導出jar包以及在源碼下生成jar包就不詳述了,網(wǎng)上資料很多 第三方j(luò)ar包依賴的緣由: 在平常過程中,假如項目需要支持引用第三方j(luò)ar包,假如是通過Eclipse進行開發(fā),直接是把含有.class文件的jar包直接加載到項目中,最后編譯出來的apk里面就包含了整個jar包文件(class.dex),假如是通過源碼進行編譯,在Android.mk里面直接添加對system/framework下面jar包文件的依賴,最后jar包文件也和apk編譯到了一起。 一、在Eclipse下新建一個Java Project(作為jar包文件) 在Person類里面實現(xiàn)一些接口,屬性,如果Person類調(diào)用了android sdk方法,請看第二步,如果沒有直接跳過第二步驟,進行第三步驟。(作者在jar包中沒有調(diào)用android SDK中的方法)
android.jar包到SDK里面自帶的例子里面找。在工程上點擊鼠標右鍵,在properties里面Java Build Path -> Libraries-》Add Jars選擇android.jar. 三、為工程添加注冊文件<permission xml file name>.xml 該文件是用來向系統(tǒng)注冊庫用的,名稱可以自己定,在下面假設(shè)該文件為 mylibxml.xml。
其中的 library 用于將其下的 name 和 file 兩個屬性關(guān)聯(lián)起來,name 的值后邊會用到。 這里的 file 指定為庫文件的存放路徑,應該是: 四、為工程添加makefile文件 在庫文件工程的根目錄下創(chuàng)建以下文件:
其中,MAKE_JAR 部分的 LOCAL_MODULE 部分指定為想要生成的jar包文件的名字, 五、把java project所有代碼拷入android源碼的編譯環(huán)境 一般拷入到system/app/下面 然后通過mm編譯,在android源碼編譯環(huán)境中將會生成一個 .jar 文件和一個 .xml 文件。 以上兩個文件是應用程序在運行時需要用到的。 六、前期準備工作基本就緒,開始寫測試case。(驗證apk是否能在設(shè)備中找到j(luò)ar包文件) (1)使用Eclipse工具新建一個Android 測試case 注:正常情況下,編譯器會給我們報錯,我這里為了看著舒服,就通過Eclipse把上面的java project導出成了一個jar文件加載進來了,所以編譯器沒有提示報錯信息。 (2)編輯AndroidManifest.xml文件 編輯工程根目錄下的 AndroidManifest.xml 文件。 (3) 為工程添加 makefile 文件: 在庫文件工程的根目錄下創(chuàng)建以下文件:
其中的 LOCAL_JAVA_LIBRARIES 表示程序會用到的庫文件。 (4)把Android 測試case拷入android源碼編譯環(huán)境編譯 把測試case同樣拷入system/app下面 |
|