android--系统jar包引用
作為android開發(fā)工程師,經(jīng)常會(huì)與android系統(tǒng)代碼打交道,如果修改了系統(tǒng)代碼并有實(shí)現(xiàn)了新的java類,而在eclipse工程師需要使用時(shí)則必須將引用jar包才能編譯通過,如下介紹兩種方法:
第一部分:生成系統(tǒng)的jar包文件
方法1、可以直接到在線編譯上(android系統(tǒng)編譯處)拿jar包文件,參考路徑:
out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.jar?
這是frameworks生成的jar包文件
方法2、直接利用eclipse導(dǎo)出jar包,一般用于第三方類庫(kù),自已實(shí)現(xiàn)的庫(kù),不是在現(xiàn)有的android java代碼上直接修改的代碼
第二部分:在eclipse工程中引用jar包:
第一步 進(jìn)行Libraries標(biāo)簽欄,Add?Library ?添加相關(guān)庫(kù)
第二步 點(diǎn)擊 User Library
第三步,選擇User?Library
第四步,New新建一個(gè)引用的jar包名并到相應(yīng)目錄下添加jars文件
勾選上?System?library?作為系統(tǒng)jar包使用,這個(gè)選項(xiàng)有時(shí)比較有用,否則有時(shí)經(jīng)常編譯不過
最后確認(rèn)即可
利用up將系統(tǒng)庫(kù)放到最開始,以這個(gè)庫(kù)優(yōu)先使用,OK,確定完成后即可使用其jar包進(jìn)行編譯了。
后續(xù):
如果我們將自行編譯的java代碼編譯生成一個(gè)系統(tǒng)jar包測(cè)試如何呢?這個(gè)事情就有必要重點(diǎn)說(shuō)明一下了:
1、編譯生成系統(tǒng)jar包:
編譯寫法如下:
LOCAL_PATH := $(call my-dir)
# the library
# ============================================================
include $(CLEAR_VARS)
LOCAL_MODULE:= libandroid_user
LOCAL_MODULE_TAGS := eng?
LOCAL_SRC_FILES := \
? ? ? ? ? ? $(call all-subdir-java-files)
include $(BUILD_JAVA_LIBRARY)
生成的系統(tǒng)jar包放在system\framework下面
2、如何讓系統(tǒng)識(shí)別此jar包庫(kù)呢?
必須編譯xml申明文件
<?xml version="1.0" encoding="utf-8"?>
<permissions>
<library name="android.user.library" file="/system/framework/libandroid_user.jar"/>
</permissions>
文件存放在system\etc\permissions下面,注意name是所使用jar起的名字,唯一即可,在apk中會(huì)使用到保持一致即可。
然后file指明jar的路徑及名稱,注意與編譯生成時(shí)的一致。
3、apk如何引用,在所需要使用的AndroidManifest.xml中添加:
<uses-library android:name="android.user.library" />
即可
總結(jié)
以上是生活随笔為你收集整理的android--系统jar包引用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: s5p4418 Android 4.4.
- 下一篇: android-----JNI学习 he