Android添加項目編譯.

來源:互聯網
上載者:User

標籤:android編譯

一.產品設定檔

[由底層向上構建順序: 晶片架構層 -> 核心板層 -> 裝置層 -> 產品層]

  1. 晶片架構層: 產品使用的硬體架構,ARM X86等.

  2. 核心主板層: 硬體電路的核心板配置

  3. 裝置層: 外圍裝置的配置, 鍵盤,滑鼠, 外接裝置等.

  4. 產品層: 最終系統產生需要的配置, 支援(預設)的國家語言, 是否網路攝影機, sensor等.
    [我們只需要配置產品層就行了.]

二.如何把產品加入編譯

1.vendorsetup.sh,這個檔案用來統計這個基準所有的產品[型號] (下面以虛擬產品型號:c123)在源碼/device/c123/下,建立vendorsetup.sh,裡面添加”add_lunch_combo c123[產品名稱]”,這個vendorsetup.sh檔案將會在 envsetup.sh[build/下]中掃描device和vendor這兩個檔案:

# Execute the contents of any vendorsetup.sh files we can find.for f in `test -d device && find -L device -maxdepth 4 -name ‘vendorsetup.sh‘ 2> /dev/null | sort` `test -d vendor && find -L vendor -maxdepth 4 -name ‘vendorsetup.sh‘ 2> /dev/null | sort`do        echo "including $f"    . $fdoneunset f

2.AndroidProducts.mk,這個存放在具體產品檔案下[device/c123/],用來定義產品的一些配置資訊.一般只用來做一個'重新導向':

PRODUCT_MAKEFILES :=     $(LOCAL_DIR)/c123.mk1212

3.在device/c123/下建立名稱為c123.mk[就是AndroidProducts.mk的重新導向檔案]這個檔案通常會配置一些手機需要的檔案資訊,如media,audio等xml檔案,GMS包,jar引入,產品資訊的命名等,也可以將一些需要拷貝到手機裡面的檔案放在這裡:

# media_profiles and media_codecs PRODUCT_COPY_FILES += device/c123/media/media_profiles.xml:system/etc/media_profiles.xml                       device/c123/media/media_codecs.xml:system/etc/media_codecs.xml ...PRODUCT_NAME := 產品名稱[設定 - 關於裝置]PRODUCT_DEVICE := 裝置名稱PRODUCT_BRAND := 手機品牌PRODUCT_MODEL := 產品型號...

4.BoardConfig.mk,主要是配置使用什麼架構,調整分區,設定分區大小等.也是在device/c123/目錄下.

TARGET_ARCH := arm64TARGET_ARCH_VARIANT := armv8-aTARGET_CPU_ABI := arm64-v8a...BOARD_SYSTEMIMAGE_PARTITION_SIZE := 分區大小[單位是bit]BOARD_USERDATAIMAGE_PARTITION_SIZE := 分區大小[單位是bit]

基本以上檔案都是放在專案檔下的,在源碼根目錄執行 ‘source build/envsetup.sh’ 的時候會自動把這些檔案載入進行,然後 ‘choosecombo’ 選擇添加的項目名,然後執行 ‘make’ 就會編譯那個項目了.
關於Android.mk這個檔案是一個android編譯單個目標的makefile.基本上源碼裡面每個apk產生以及farmework很多編譯都需要這個檔案.
  
註:源碼是Android 6.0.[此文章本人於2016-11-16在CSDN發表過.]

本文出自 “Amos的技術部落格” 部落格,轉載請與作者聯絡!

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.