《Android系统移植技术详解【强烈推荐非常经典】》由会员分享,可在线阅读,更多相关《Android系统移植技术详解【强烈推荐非常经典】(73页珍藏版)》请在金锄头文库上搜索。
1、Android系统开发编译环境配置主机系统:Ubuntu9.04(1)安装如下软件包sudo apt-get install git-core sudo apt-get install gnupgsudo apt-get install sun-java5-jdksudo apt-get install flexsudo apt-get install bisonsudo apt-get install gperfsudo apt-get install libsdl-devsudo apt-get install libesd0-devsudo apt-get install build-e
2、ssentialsudo apt-get install zipsudo apt-get install curlsudo apt-get install libncurses5-devsudo apt-get install zlib1g-devandroid编译对java的需求只支持jdk5.0低版本,jdk5.0 update 12版本和java 6不支持。(2)下载repo工具curl http:/android.git.kernel.org/repo /bin/repochmod a+x /bin/repo(3)创建源代码下载目录:mkdir /work/android-froyo-
3、r2(4)用repo工具初始化一个版本(以android2.2r2为例)cd /work/android-froyo-r2repo init -u git:/android.git.kernel.org/platform/manifest.git -b froyo初始化过程中会显示相关的版本的TAG信息,同时会提示你输入用户名和邮箱地址,以上面的方式初始化的是android2.2 froyo的最新版本,android2.2本身也会有很多个版本,这可以从TAG信息中看出来,当前froyo的所有版本如下:* new tag android-2.2.1_r1 - android-2.2.1_r1*
4、new tag android-2.2_r1 - android-2.2_r1* new tag android-2.2_r1.1 - android-2.2_r1.1* new tag android-2.2_r1.2 - android-2.2_r1.2* new tag android-2.2_r1.3 - android-2.2_r1.3* new tag android-cts-2.2_r1 - android-cts-2.2_r1* new tag android-cts-2.2_r2 - android-cts-2.2_r2* new tag android-cts-2.2_r3
5、 - android-cts-2.2_r3这样每次下载的都是最新的版本,当然我们也可以根据TAG信息下载某一特定的版本如下:repo init -u git:/android.git.kernel.org/platform/manifest.git -b android-cts-2.2_r3(5)下载代码repo syncfroyo版本的代码大小超过2G,漫长的下载过程。(6)编译代码cd /work/android-froyo-r2makeUbuntu下使用Simba服务实现局域网内文件共享Ubuntu下安装Simba服务器将linux电脑上的内容共享,同一局域网内的另外一台Windows
6、PC即可访问其共享内容,从而实现Windows电脑向访问本地文件一样访问Linux文件系统的内容。(1)安装Simaba服务器sudo apt-get install samba(2)安装samba图形化配置软件sudo apt-get install system-config-samba(3)创建一个Simba专用用户从“系统”“系统管理”“用户和组”,来创建。如图,先点击“解锁”,然后“添加新用户”然后输入新用户名字(如Simba)和密码(如111111),然后在“高级”里面,选择“主组”为sambashare后点击确定即可一句话来概括,就是创建一个主组为sambashare的用户(4)
7、配置samba共享从“系统”“系统管理”samba“,运行配置界面然后”首选项“”服务器设置“。点击:安全性,在最后的”来宾帐号“里面, 选择我们新建立的那个用户simba后点击确定(5)修改samba配置文件打开/etc/samba/smb.conf,修改valid users = XXXX为valid users = simba(6)重启samba服务sudo /etc/init.d/samba restart(7)添加共享文件从“系统”“系统管理”samba“,运行配置界面点击添加来添加共享文件夹,点击浏览来选择需要共享的文件夹,选择可擦写和显示,点击访问可以设置访问权限,最好设置成允许
8、所有用户访问本文来自CSDN博客,转载请标明出处:http:/ apt-get install tftp tftpd openbsd-inetd(2)在根目录下创建文件夹 tftpboot文件夹并修改权限 cd / sudo mkdir tftpboot sudo chmod 777 tftpboot(3)修改/etc/inetd.conf文件如下:tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot(4)开启tftp服务sudo /etc/init.d/openbsd-inetd reload sudo
9、in.tftpd -l /tftpboot(5)重启电脑,然后将测试文件放入/tftpboot目录下即可开始测试,出现问题可能一般都是权限问题/tftpboot目录下的文件访问权限改成0777本文来自CSDN博客,转载请标明出处:http:/ ardent产品名称 MTP主板名称 merlin然后安装下面的步骤新建产品项目:(1)在源代码目录下创建一个用户目录mkdir vendor(2)在用户目录下创建一个公司目录mkdir vendor/merlin(3)在公司目录下创建一个products目录mkdir vendor/merlin/products(4)在上面创建的products下创建
10、一个产品makefile文件MTP.mk,内容如下:PRODUCT_PACKAGES := AlarmClock Email Fallback Launcher2 Music Camera Settings LatinIME NotePad SoundRecorder Bluetooth CertInstaller DeskClock$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)# OverridesPRODUCT_MANUFACTURER := ardentPRODUCT_BRAND := ardentPRODUCT_NA
11、ME := MTPPRODUCT_MODEL := MultiMedia Touch PhonePRODUCT_DEVICE := merlinPRODUCT_LOCALES := zh_CN产品makefile文件的编写有一套规则,详细情况见此文后面的补充内容。(5)在vendor/merlin/products目录下创建一个AndroidProducts.mk文件,定义Android产品配置文件的路径,具体如下:PRODUCT_MAKEFILES := $(LOCAL_DIR)/MTP.mk(6)在公司目录下创建一个主板目录mkdir vendor/ardent/merlin(7)在主板目
12、录下新建一个主板配置文件BoardConfig.mk,内容如下:TARGET_NO_BOOTLOADER := trueTARGET_NO_KERNEL := trueTARGET_CPU_ABI := armeabiBOARD_USES_GENERIC_AUDIO := trueUSE_CAMERA_STUB := true(8)如果你希望修改系统属性,则可以在主板目录下新建一个system.prop文件,该文件中可以修改系统属性,举例如下:# system.prop for # This overrides settings in the products/generic/system.p
13、rop file# rild.libpath=/system/lib/libreference-ril.so# rild.libargs=-d /dev/ttyS0(9)在主板目录下建议一个Android的主板配置文件AndroidBoard.mk,此文件是编译系统接口文件,内容如下:# make file for new hardware from #LOCAL_PATH := $(call my-dir)# this is here to use the pre-built kernelifeq ($(TARGET_PREBUILT_KERNEL),)TARGET_PREBUILT_KERNEL := $(LOCAL_PATH)/kernelendiffile := $(INSTALLED_KERNEL_TARGET)ALL_PREBUILT += $(file)$(file): $(TARGET_PREBUILT_KERNEL) | $(ACP) $(transform-prebuilt-to-target)# no boot loader, so we dont need any of that stuff. #LOCAL_PATH := vendor/ardent/merlininclude $(CLEAR_VARS)# i