Android SDK編譯

來源:互聯網
上載者: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_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 你自己的東西了!大功告成

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.