reference http://blog.csdn.net/louiswangbing/article/details/6618727
定義產品規格
公司名稱:wolf
產品名稱:EGO
主板名稱:smdk6410
1.在android源碼device下建立一個公司目錄
mkdir device/wolf
2.在公司目錄下建立一個產品目錄
mkdir products
products目錄下建立一個AndroidProducts.mk檔案,定義Android產品設定檔的路徑
cp /home/android/build/target/product/AndroidProducts.mk ./
內容如下
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/smdk6410.mk
在產品目錄下建立一個產品makefile,smdk6410.mk
cp /home/android/build/target/product/generic.mk ./
mv generic.mk smdk6410.mk
內容如下
PRODUCT_PACKAGES := \ #需要安裝的APK應用程式列表
AccountAndSyncSettings \
DeskClock \
AlarmProvider \
Bluetooth \
Camera \
CertInstaller \
DrmProvider \
Gallery3D \
LatinIME \
Launcher2 \
Mms \
Music \
Provision \
Protips \
QuickSearchBox \
Settings \
Sync \
SystemUI \
Updater \
SyncProvider
$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)
# Overrides
PRODUCT_MANUFACTURER := wolf #生產廠家
PRODUCT_BRAND := ego # 軟體設計針對的客戶品牌
PRODUCT_NAME := smdk6410 #終端使用者可見的產品名稱,對應到“Settings“中的“About the phone”資訊
PRODUCT_DEVICE := smdk6410 # 工作設計名稱,即主板名稱
PRODUCT_LOCALES := en_US zh_CN #影響到"Settings"中的語言,時間,日期和貨幣格式設定
# Bring in some audio files
include frameworks/base/data/sounds/AudioPackage4.mk
3.在公司目錄下建立一個產品配置目錄
root@ubuntu:/home/android# cp -a build/target/board/generic device/wolf/
root@ubuntu:/home/android# cd device/wolf/
root@ubuntu:/home/android/device/wolf# mv generic smdk6410
Android的主板設定檔AndroidBoard.mk,此檔案是編譯系統介面檔案,內容如下:
LOCAL_PATH := $(call my-dir) #增加了鍵盤對應檔案
include $(CLEAR_VARS)
LOCAL_SRC_FILES := gpio-keys.kcm
LOCAL_MODULE_TAGS := eng
include $(BUILD_KEY_CHAR_MAP)
4.主板設定檔BoardConfig.mk,內容如下
TARGET_CPU_ABI := armeabi-v6
TARGET_CPU_ABI2 := armeabi
#TARGET_ARCH_VARIANT := armv6-vfp
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
TARGET_NO_RADIOIMAGE := true
TARGET_NO_RECOVERY := true
#TARGET_PROVIDES_INIT_RC := true
BOARD_USES_GENERIC_AUDIO := true #android系統原生態支援的audio
#BOARD_USES_ALSA_AUDIO := true #alsa的audio
BUILD_WITH_ALAS_UTILS := true
# Bluetooth
BOARD_HAVE_BLUETOOTH := false
# Wi-Fi
BOARD_HAVE_LIBWIFI := false
USE_CAMERA_STUB := true
5.在smdk6410下 vi vendorsetup.sh
add_lunch_combo smdk6410-eng
6.source ./build/envsetup.sh
lunch