在Android源碼中編譯出指定jar包的操作
今天想把android源碼/vendor/letv/frameworks/base/java下的源碼編譯成 framework-letv.jar供樂樂語音客戶端使用,編譯完后,發(fā)現(xiàn)jar包文件雖然生成了,但包里面并沒有相關的源碼class文件,無法正常使用。
經過請教加研究發(fā)現(xiàn),Android.mk文件需要添加選項如下:
54 LOCAL_JACK_ENABLED := disabled # important! 55 #include $(BUILD_JAVA_LIBRARY) 56 include $(BUILD_STATIC_JAVA_LIBRARY) #編譯jar包
最終生成了javalib.jar,改名為 framework-letv.jar即可。注意:如果沒有指定LACAL_JACK_ENABLED選項,則默認是enabled,將會生成classes.jack文件,不會產生classes.jar包!
另外補充點:在某一應用程序中有時候需要引用第三方jar包,那么怎么才能在編譯app的時候把該jar包引入進入呢?
在該app下的Android.mk文件中添加如下語句:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := user eng ######################################## LOCAL_STATIC_JAVA_LIBRARIES := lib3party //定義引用名 ######################################## .... include $(BUILD_PACKAGE) ############################################################### include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := lib3part:libs/3part.jar //引用名:jar包名 include $(BUILD_MULTI_PREBUILT) ################################################################
添加jar包,關鍵在 LOCAL_STATIC_JAVA_LIBRARIES := libarity 和 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libarity:lily.jar 這兩句。
libarity為jar包的別名,可以隨便取,只要與下面相對應就行。但是后面冒號后面的那個jar包名字就必須寫你需要引入的jar包名字。
jar包應該放在工程的根目錄下,也就是與你要編譯的app的src,res,Android.mk文件同級的目錄。
以上這篇在Android源碼中編譯出指定jar包的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Android 加載大圖、多圖和LruCache緩存詳細介紹
這篇文章主要介紹了Android 加載大圖、多圖和LruCache緩存詳細介紹的相關資料,需要的朋友可以參考下2016-10-10Android自定義view實現(xiàn)標簽欄功能(只支持固定兩個標簽)
這篇文章主要介紹了Android自定義view實現(xiàn)標簽欄(只支持固定兩個標簽),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06Android?NotificationListenerService?通知服務原理解析
這篇文章主要為大家介紹了Android?NotificationListenerService?通知服務原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11Android 日歷控件庫,可左右滑動,顯示公歷,農歷,節(jié)假日等功能
這篇文章主要介紹了Android 日歷控件庫,可左右滑動,顯示公歷,農歷,節(jié)假日等功能的相關資料,需要的朋友可以參考下2016-09-09