Android SDK編譯 ——如何將自己原始碼加入android.jar

來源:互聯網
上載者:User

在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_intermediates/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源碼所在的檔案名稱)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.