1. 程式人生 > >將自定義的jar包新增到framework層(解決)

將自定義的jar包新增到framework層(解決)

原java類檔案放到framework下面,通過原始碼編譯生成系統jar包:

專案中,客戶要求將jar新增到framework.jar裡,以便所有的apk都可以呼叫這個jar。這個jar包裡面呼叫了AIDL裡的方法,原始碼裡有專案是AIDL的服務端,冰拳引用了framework.jar,則會因為包名類名相同導致出現混淆錯誤。下面是我自己總結各方資料來解決問題,僅供參考:

1.簡單的弄一個架包加入到framework.jar裡面去 在frameworks\base下新建xxx目錄,下面的目錄結構如下,不需要加Android.mk檔案,但必須要有一個java的目錄: └─xxx
      └─java
            └─com
                 └─android
                       └─frameworkunit
                                 └─ FrameworkTest.java 然後在build/core/pathmap.mk檔案中新增你自己建立的目錄

FRAMEWORKS_BASE_SUBDIRS := \

 $(addsuffix /java, \

core \

            graphics \

            location \

            media \

            media/mca/effect \

            media/mca/filterfw \

            media/mca/filterpacks \

.

.

xxx \

)

然後通過mmm命令編譯這個新新增的模組了: mmm framework/base編譯,生成檔案為out/target/product/generic/system/framework/framework.jar 編譯通過後就可以做接下來的事情了

這樣便實現

APKframework.jar中呼叫自定義的方法了


借鑑: http://www.360doc.com/content/14/0308/22/3700464_358895265.shtml