android系统移植要点之一--以6410为例
来源:互联网 发布:淘宝的瑕疵冰箱能买嘛 编辑:程序博客网 时间:2024/06/10 13:45
Rockie's Android Porting Guide(1)——build your own board
(1)在android源码目录下执行(为何每次都要执行?)
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
[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]$
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
# 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)
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
(1)在android源码目录下执行(为何每次都要执行?)
. build/envsetup.sh
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
[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
产品名称及包含的应用程序
# 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层驱动,需要修改此文件
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)
目前看来加入了一些键盘映射文件
- android系统移植要点之一--以6410为例
- android系统移植要点之二--以6410为例
- android系统移植要点之三--以6410为例
- android系统移植要点之四--以6410为例
- android系统移植要点之五--以6410为例
- android系统移植要点之六--以6410为例
- linux系统移植要点
- Android震动系统结构 移植与调试的要点
- Android震动系统结构 移植与调试的要点
- Android震动系统结构 移植与调试的要点
- Android震动系统结构 移植与调试的要点
- Android移植NDK子项目--以android-gif-drawable为例
- android 查看系统数据库——以短信为例
- Android系统调用流程---以open为例
- Android系统中如何添加权限-----以TP为例
- autotools精简(以webkit嵌入式浏览器移植为例)
- 基于感应器的智能求救系统----以android为例实现
- Android中系统设置参数改变监听(以时间同步为例)
- LINUX环境线程编程个人经验
- 关于《创建组件**失败。错误消息为**未能加载文件或程序集**或它的某一个依赖。系统找不到指定文件。》的解决方案
- Android导入工程,R 资源文件无法生成
- 在MyEclipse中运行程序 节省时间
- oracle笔记
- android系统移植要点之一--以6410为例
- .net中DataFormatString格式设置
- 异步更新,AJAX技术
- Hibernate包作用详解
- Making your C++ code robust
- WPF,iOS,BlackBerry 本地化
- android系统移植要点之二--以6410为例
- 详解QT Sqlite ARM 编写程序实例
- android系统移植要点之三--以6410为例