Framework添加自定義API注意事項

注意:前提是添加新API以前,項目能全編經過。java

一、刪除out目錄

rm out/ -rf
複製代碼

二、修改Android.mk

一、若是自定義的包位於frameworks/base/core/java/android下,則直接使用默認的配置,無需修改,忽略2。
二、若是自定義包位於 frameworks/base/core/java/com/****/camera/,即非java/android目錄下,則須要在frameworks/base/Android.mk中的packages_to_document變量後面中添加自定義的包名。 如: vim frameworks/base/Android.mk +631linux

@@ -598,7 +607,8 @@ $(gen): $(aidl_files) | $(AIDL)
 # TODO: deal with com/google/android/googleapps
 packages_to_document := \
        android \
-       javax/microedition/khronos
+       javax/microedition/khronos \
+       com/××××/camera

複製代碼

三、撤銷 api/current.txt api/system-current.txt的改動

cd frameworks/base/
git checkout api/current.txt api/system-current.txt
複製代碼

四、全編

添加的某服務客戶端即××××Manager不要在class上添加@hide。android

source build/envsetup.sh 
lunch
make update-api
make -j16
複製代碼

五、編譯SDK

執行一下命令後,會在out/host/linux-x86/sdk/sdk/android-sdk_eng.root_linux-x86目錄中生成android.jar文件。 out/host/linux-x86/sdk/sdk/android-sdk_eng.root_linux-x86/platforms/android-××××/android.jargit

source build/envsetup.sh
lunch sdk-eng
make sdk
複製代碼

六、IDE使用新增API

將android.jar拷貝至相應的開發SDK路徑下。若是經過AS開發,可在externallibraries下的android.jar中,存在com.****.camera,新增的API都在這個包裏面。vim

cp out/host/linux-x86/sdk/sdk/android-sdk_eng.root_linux-x86/platforms/android-××××/android.jar /root/Android/Sdk/platforms/android-2×/
複製代碼
相關文章
相關標籤/搜索