Rockie's Android Porting Guide(1)——build your own board
Rockie Cheng
Download Android 2.0 eclair codes from google git!
(1)在android源码目录下执行(为何每次都要执行?)
. build/envsetup.sh
(2)建立自己的board
copy build/target/board/generic to
build/target/board/idea6410
修改build/target/product/AndroidProduct.mk,添加
$(LOCAL_DIR)/idea6410.mk
/
copy build/target/product/generic.mk to build/target/product/idea6410.mk
修改build/target/product/idea6410.mk
# Overrides
PRODUCT_BRAND :=
idea6410
PRODUCT_DEVICE := idea6410
PRODUCT_NAME := idea6410
(3)tapas
[kyon@SEP4020 android2.0]$ tapas
Build for the simulator or
the device?
1. Device
2. Simulator
Which would you like?
[1]
Build type choices are:
1. release
2. debug
Which would
you like? [1] 1
Which product would you like? [generic] idea6410
Variant choices are:
1. user
2. userdebug
3.
eng
Which would you like? [eng]
============================================
PLATFORM_VERSION_CODENAME=Eclair
PLATFORM_VERSION=Eclair
TARGET_PRODUCT=idea6410
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
[kyon@SEP4020 android2.0]$
以上只是基于generic简单的复制,需要更详细的定制开发板设备
附录:
1)build/target/product/idea6410.mk内容
# This is a generic product
that isn't specialized for a specific device.
# It includes the base Android
platform. If you need Google-specific features,
# you should derive from
generic_with_google.mk
PRODUCT_PACKAGES := /
AccountAndSyncSettings /
AlarmClock
/
AlarmProvider /
Bluetooth /
Calculator /
Calendar
/
Camera /
CertInstaller /
DrmProvider /
Email
/
Gallery /
LatinIME /
Mms /
Music /
Settings
/
Sync /
Updater /
CalendarProvider /
SyncProvider
$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)
# Overrides
PRODUCT_BRAND := idea6410
PRODUCT_DEVICE :=
idea6410
PRODUCT_NAME := idea6410
产品名称及包含的应用程序
2)build/target/board/idea6410/BoardConfig.mk
# config.mk
#
#
Product-specific compile-time definitions.
#
# The generic product target doesn't have any hardware-specific
pieces.
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL :=
true
TARGET_CPU_ABI := armeabi
HAVE_HTC_AUDIO_DRIVER :=
true
BOARD_USES_GENERIC_AUDIO := true
不编译bootloader及内核
使用arm eabi编译器
使用HTC和通用音频(没有使用ALSA)
如果需要添加HAL层驱动,需要修改此文件
3)build/target/board/idea6410/AndroidBoard.mk
LOCAL_PATH := $(call
my-dir)
file := $(TARGET_OUT_KEYLAYOUT)/tuttle2.kl
ALL_PREBUILT +=
$(file)
$(file) : $(LOCAL_PATH)/tuttle2.kl |
$(ACP)
$(transform-prebuilt-to-target)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := tuttle2.kcm
include
$(BUILD_KEY_CHAR_MAP)
目前看来加入了一些键盘映射文件
阿虚
Rockie Cheng
本文介绍如何从Google Git下载Android 2.0 Eclair代码,并基于generic进行复制来创建自定义开发板idea6410。文章详细讲解了配置步骤,包括环境设置、产品和板级配置文件的修改。
1554

被折叠的 条评论
为什么被折叠?



