在Android源碼編譯成功的基礎上重新編譯帶自己API的android.jar需要進行以下幾步操作。
1 添加自己原始碼,在Android源碼frameworks/base目錄下建立一個檔案夾儲存代碼,
如tv,以包的形式命名添加的檔案所在的路徑,如/tv/java/android/tv,
添加的java檔案開頭定義的包即是編譯成功的class檔案所在的包。
2 修改makefile檔案
2.1 修改build/core/pathmap.mk檔案 在FRAMEWORKS_ BASE_ SUBDIRS變數後添加tv\,
代碼如下(makefile檔案中的語句以Tab鍵空格開頭)
FRAMEWORKS_BASE_SUBDIRS := \ $(addsuffix /java, \
core \
graphics \
location \
media \
opengl \
sax \
telephony \
wifi \
vpn \
keystore \
tv \ )
2.2修改frameworks/base/Android.mk 檔案 在packages_to_ document變數後添加自己原始碼的包名稱,
如android/tv,結果如下(makefile檔案中的語句以Tab鍵空格開頭)
packages_to_document := \ android \ javax/microedition/khronos android/tv
3 在ubuntu命令列終端使用如下命令進行編譯:
make clean make update-api make PRODUCT-sdk-sdk
最後一行也可以用如下兩個命令代替: make –j4 make sdk
4 編譯結果 4.1 android.jar檔案所在的目錄為
/out/target/common/obj/PACKAGING/android_jar_intermediates/android.jar
並在/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_interme diates/src
目錄下重新以package形式組織所有產生到android.jar中的原始碼。
4.2 SDK所在目錄為
out/host/linux-x86/sdk/,產生的sdk檔案目錄和壓縮包為:
android-sdk_eng.xxx_linux-x86 android-sdk_eng.xxx_linux-x86.zip(xxx為自己android源碼所在的檔案名稱)
在android源碼編譯成功的基礎上重新編譯帶自己API的android.jar需要進行以下幾步操作:
*添加自己原始碼 在Android源碼frameworks/base目錄下建立一個檔案夾儲存代碼,
如tv,以包的形式命名添加的檔案所在的路徑, 如/tv/java/android/tv,
添加的java檔案開頭定義的包即是編譯成功的class檔案所在的包。
*修改makefile檔案
1.修改build/core/pathmap.mk檔案
在FRAMEWORKS_ BASE_ SUBDIRS變數後添加tv\,代碼如下
(同樣,mk檔案以Tab鍵空格開頭)
FRAMEWORKS_BASE_SUBDIRS := \ $(addsuffix /java, \
core \
graphics \
location \
media \
opengl \
sax \
elephony \
wifi \
vpn \
keystore \
'''tv \''' )
2.修改frameworks/base/Android.mk 檔案
在packages_to_ document變數後添加自己原始碼的包名稱,
如android/tv,結果如下(mk檔案以Tab鍵空格開頭)
packages_to_document := \ android \
javax/microedition/khronos '''android/tv''' *在ubuntu命令列終端使用如下命令進行編譯: make clean
make update-api make PRODUCT-sdk-sdk
最後一行也可以用如下兩個命令代替: make –j4 make sdk *編譯結果
1.android.jar檔案所在的目錄為
/out/target/common/obj/PACKAGING/android_jar_intermediates/android.jar
並在/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_interme diates/src
目錄下重新以package形式組織所有產生到android.jar中的原始碼。
2.sdk所在目錄為 out/host/linux-x86/sdk/,產生的sdk檔案目錄和壓縮包為:
android-sdk_eng.xxx_linux-x86
android-sdk_eng.xxx_linux-x86.zip(xxx為自己android源碼所在的根目錄檔案名稱
/////////////////////////////////////或者///////////////////////////////////////////////////////
拿我的sdk舉例找到你所用版本的sdk的主目
錄:如\android-sdk-linux86\platforms\android-2.1\,
在檔案夾下面有個android.jar的jar包,
這個包裡就包含了sdk為我們提供的所有jar檔案,
你開啟後發現下面有我們常見的android,com等檔案夾對應的裡麵包含的就是我們通常引用的
android.XXXX.class
com.XXXX.XXXX.class,如果你想在你的sdk中添加你自己的class包,
只需將你自己的jar包添加進去就好,具體方法:
(ubuntu下)雙擊android.jar
進入你要放置檔案的檔案夾,單擊向歸檔檔案中添加檔案按鈕,然後選擇你的class檔案,
這時你就可以在你的檔案中import 你自己的東西了!大功告成