android--系统jar包引用
作為android開發工程師,經常會與android系統代碼打交道,如果修改了系統代碼并有實現了新的java類,而在eclipse工程師需要使用時則必須將引用jar包才能編譯通過,如下介紹兩種方法:
第一部分:生成系統的jar包文件
方法1、可以直接到在線編譯上(android系統編譯處)拿jar包文件,參考路徑:
out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.jar?
這是frameworks生成的jar包文件
方法2、直接利用eclipse導出jar包,一般用于第三方類庫,自已實現的庫,不是在現有的android java代碼上直接修改的代碼
第二部分:在eclipse工程中引用jar包:
第一步 進行Libraries標簽欄,Add?Library ?添加相關庫
第二步 點擊 User Library
第三步,選擇User?Library
第四步,New新建一個引用的jar包名并到相應目錄下添加jars文件
勾選上?System?library?作為系統jar包使用,這個選項有時比較有用,否則有時經常編譯不過
最后確認即可
利用up將系統庫放到最開始,以這個庫優先使用,OK,確定完成后即可使用其jar包進行編譯了。
后續:
如果我們將自行編譯的java代碼編譯生成一個系統jar包測試如何呢?這個事情就有必要重點說明一下了:
1、編譯生成系統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)
生成的系統jar包放在system\framework下面
2、如何讓系統識別此jar包庫呢?
必須編譯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中會使用到保持一致即可。
然后file指明jar的路徑及名稱,注意與編譯生成時的一致。
3、apk如何引用,在所需要使用的AndroidManifest.xml中添加:
<uses-library android:name="android.user.library" />
即可
總結
以上是生活随笔為你收集整理的android--系统jar包引用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: s5p4418 Android 4.4.
- 下一篇: ubuntu14.04 访问window