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