求解答,Android源碼編譯時間怎樣添加第三方jar包

來源:互聯網
上載者:User

各位大神好,遇到的問題如標題。

我用Eclipse寫了一個android工程,但是這個工程需要到SDK的隱藏類,所有想在源碼下編譯,但是每次mm之後,都會出現錯誤,提示是找不到對應的類。

我需要加入的4個jar包如下:

org.apache.commons.codec-1.7.0.jar

org.knopflerfish.bundle.kxml-LIB-2.3.0.jar

osgi.cmpn-4.3.0.jar

osgi.core-4.3.0.jar


望各位大神支招。小弟線上等...


經過了昨晚的研究,我最後還是找到瞭解決方法,因為之前自己沒有寫過Android.mk檔案,所以不知道怎麼載入jar包是很正常的。

在源碼下編譯android工程使用到第三方jar包需要在Android.mk檔案中添加java靜態庫的目錄。主要用到了Android.mk檔案中的兩個變數。

LOCAL_STATIC_JAVA_LIBRARIES 和 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES,就是需要載入靜態庫。這裡我粘貼我的Android.mk檔案


Android.mk

LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(call all-java-files-under, src)# Added for source code compile start LOCAL_STATIC_JAVA_LIBRARIES :=  jarlib1 jarlib2 jarlib3 jarlib4LOCAL_PACKAGE_NAME := yourprojectname# Added for source code compile endLOCAL_CERTIFICATE := platforminclude $(BUILD_PACKAGE)# Added for source code compile start include $(CLEAR_VARS)LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := jarlib1:jars/org.apache.commons.codec-1.7.0.jar  jarlib2:jars/org.knopflerfish.bundle.kxml-LIB-2.3.0.jar jarlib3:jars/osgi.cmpn-4.3.0.jar jarlib4:jars/osgi.core-4.3.0.jarinclude $(BUILD_MULTI_PREBUILT)# Added for source code compile end# Use the folloing include to make our test apk.include $(call all-makefiles-under,$(LOCAL_PATH))


這裡就有兩個問題:

第一:jar檔案放在android工程的哪裡?

答案是隨便放在哪裡! 這裡舉個例子,比如我放在工程主目錄下的jars檔案夾下面,那麼我在定義變數LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES值的時候就需要指定一個路徑,即jars/。

第二:我在mk檔案中怎樣引用?

可以看到mk檔案中比一般的mk檔案增加了兩個變數

第一個LOCAL_STATIC_JAVA_LIBRARIES即java靜態庫,這裡我們只需要取個名字就好,具體庫對應的庫檔案需要在LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES中去載入即可。至於LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES的值應該怎麼寫,看mk檔案有提示。

初學android源碼編譯,是會遇到很多問題,慢慢來。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.