Android系统移植技术详解【强烈推荐,非常经典】.docAndroid系统移植技术详解【强烈推荐,非常经典】.doc

收藏 分享

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

ANDROID系统开发编译环境配置主机系统UBUNTU9041安装如下软件包SUDOAPTGETINSTALLGITCORESUDOAPTGETINSTALLGNUPGSUDOAPTGETINSTALLSUNJAVA5JDKSUDOAPTGETINSTALLFLEXSUDOAPTGETINSTALLBISONSUDOAPTGETINSTALLGPERFSUDOAPTGETINSTALLLIBSDLDEVSUDOAPTGETINSTALLLIBESD0DEVSUDOAPTGETINSTALLBUILDESSENTIALSUDOAPTGETINSTALLZIPSUDOAPTGETINSTALLCURLSUDOAPTGETINSTALLLIBNCURSES5DEVSUDOAPTGETINSTALLZLIB1GDEVANDROID编译对JAVA的需求只支持JDK50低版本,JDK50UPDATE12版本和JAVA6不支持。2下载REPO工具CURLHTTP//ANDROIDGITKERNELORG/REPO/BIN/REPOCHMODAX/BIN/REPO3创建源代码下载目录MKDIR/WORK/ANDROIDFROYOR24用REPO工具初始化一个版本以ANDROID22R2为例CD/WORK/ANDROIDFROYOR2REPOINITUGIT//ANDROIDGITKERNELORG/PLATFORM/MANIFESTGITBFROYO初始化过程中会显示相关的版本的TAG信息,同时会提示你输入用户名和邮箱地址,以上面的方式初始化的是ANDROID22FROYO的最新版本,ANDROID22本身也会有很多个版本,这可以从TAG信息中看出来,当前FROYO的所有版本如下NEWTAGANDROID221_R1ANDROID221_R1NEWTAGANDROID22_R1ANDROID22_R1NEWTAGANDROID22_R11ANDROID22_R11NEWTAGANDROID22_R12ANDROID22_R12NEWTAGANDROID22_R13ANDROID22_R13NEWTAGANDROIDCTS22_R1ANDROIDCTS22_R1NEWTAGANDROIDCTS22_R2ANDROIDCTS22_R2NEWTAGANDROIDCTS22_R3ANDROIDCTS22_R3这样每次下载的都是最新的版本,当然我们也可以根据TAG信息下载某一特定的版本如下REPOINITUGIT//ANDROIDGITKERNELORG/PLATFORM/MANIFESTGITBANDROIDCTS22_R35下载代码REPOSYNCFROYO版本的代码大小超过2G,漫长的下载过程。6编译代码CD/WORK/ANDROIDFROYOR2MAKEUBUNTU下使用SIMBA服务实现局域网内文件共享UBUNTU下安装SIMBA服务器将LINUX电脑上的内容共享,同一局域网内的另外一台WINDOWSPC即可访问其共享内容,从而实现WINDOWS电脑向访问本地文件一样访问LINUX文件系统的内容。1安装SIMABA服务器SUDOAPTGETINSTALLSAMBA2安装SAMBA图形化配置软件SUDOAPTGETINSTALLSYSTEMCONFIGSAMBA3创建一个SIMBA专用用户从“系统”“系统管理”“用户和组”,来创建。如图,先点击“解锁”,然后“添加新用户”然后输入新用户名字如SIMBA和密码如111111,然后在“高级”里面,选择“主组”为SAMBASHARE后点击确定即可一句话来概括,就是创建一个主组为SAMBASHARE的用户4配置SAMBA共享从“系统”“系统管理”SAMBA“,运行配置界面然后”首选项“”服务器设置“。点击安全性,在最后的”来宾帐号“里面,选择我们新建立的那个用户SIMBA后点击确定5修改SAMBA配置文件打开/ETC/SAMBA/SMBCONF,修改VALIDUSERSXXXX为VALIDUSERSSIMBA6重启SAMBA服务SUDO/ETC/INITD/SAMBARESTART7添加共享文件从“系统”“系统管理”SAMBA“,运行配置界面点击添加来添加共享文件夹,点击浏览来选择需要共享的文件夹,选择可擦写和显示,点击访问可以设置访问权限,最好设置成允许所有用户访问本文来自CSDN博客,转载请标明出处HTTP//BLOGCSDNNET/JIAJIE961/ARCHIVE/2010/11/04/5987821ASPXUBUNTU下TFTP服务器的创建实验平台UBUNTU9041安装TFTP服务SUDOAPTGETINSTALLTFTPTFTPDOPENBSDINETD2在根目录下创建文件夹TFTPBOOT文件夹并修改权限CD/SUDOMKDIRTFTPBOOTSUDOCHMOD777TFTPBOOT3修改/ETC/INETDCONF文件如下TFTPDGRAMUDPWAITNOBODY/USR/SBIN/TCPD/USR/SBIN/INTFTPD/TFTPBOOT4开启TFTP服务SUDO/ETC/INITD/OPENBSDINETDRELOADSUDOINTFTPDL/TFTPBOOT5重启电脑,然后将测试文件放入/TFTPBOOT目录下即可开始测试,出现问题可能一般都是权限问题/TFTPBOOT目录下的文件访问权限改成0777本文来自CSDN博客,转载请标明出处HTTP//BLOGCSDNNET/JIAJIE961/ARCHIVE/2010/11/05/5989328ASPX创建一个新的ANDROID产品项目从GOOGLE网站上下载的ANDROID源代码编译时默认是编译GOOGLE设定的产品,如果要开发自己的产品,则需要重新定义一个产品项目,过程如下首先我们定义产品的规格,举例如下公司名称ARDENT产品名称MTP主板名称MERLIN然后安装下面的步骤新建产品项目1在源代码目录下创建一个用户目录MKDIRVENDOR2在用户目录下创建一个公司目录MKDIRVENDOR/MERLIN3在公司目录下创建一个PRODUCTS目录MKDIRVENDOR/MERLIN/PRODUCTS4在上面创建的PRODUCTS下创建一个产品MAKEFILE文件MTPMK,内容如下PRODUCT_PACKAGES\ALARMCLOCK\EMAIL\FALLBACK\LAUNCHER2\MUSIC\CAMERA\SETTINGS\LATINIME\NOTEPAD\SOUNDRECORDER\BLUETOOTH\CERTINSTALLER\DESKCLOCKCALLINHERITPRODUCT,SRC_TARGET_DIR/PRODUCT/COREMKOVERRIDESPRODUCT_MANUFACTURERARDENTPRODUCT_BRANDARDENTPRODUCT_NAMEMTPPRODUCT_MODELMULTIMEDIATOUCHPHONEPRODUCT_DEVICEMERLINPRODUCT_LOCALESZH_CN产品MAKEFILE文件的编写有一套规则,详细情况见此文后面的补充内容。5在VENDOR/MERLIN/PRODUCTS目录下创建一个ANDROIDPRODUCTSMK文件,定义ANDROID产品配置文件的路径,具体如下PRODUCT_MAKEFILES\LOCAL_DIR/MTPMK6在公司目录下创建一个主板目录MKDIRVENDOR/ARDENT/MERLIN7在主板目录下新建一个主板配置文件BOARDCONFIGMK,内容如下TARGET_NO_BOOTLOADERTRUETARGET_NO_KERNELTRUETARGET_CPU_ABIARMEABIBOARD_USES_GENERIC_AUDIOTRUEUSE_CAMERA_STUBTRUE8如果你希望修改系统属性,则可以在主板目录下新建一个SYSTEMPROP文件,该文件中可以修改系统属性,举例如下SYSTEMPROPFORTHISOVERRIDESSETTINGSINTHEPRODUCTS/GENERIC/SYSTEMPROPFILERILDLIBPATH/SYSTEM/LIB/LIBREFERENCERILSORILDLIBARGSD/DEV/TTYS09在主板目录下建议一个ANDROID的主板配置文件ANDROIDBOARDMK,此文件是编译系统接口文件,内容如下MAKEFILEFORNEWHARDWAREFROMLOCAL_PATHCALLMYDIRTHISISHERETOUSETHEPREBUILTKERNELIFEQTARGET_PREBUILT_KERNEL,TARGET_PREBUILT_KERNELLOCAL_PATH/KERNELENDIFFILEINSTALLED_KERNEL_TARGETALL_PREBUILTFILEFILETARGET_PREBUILT_KERNEL|ACPTRANSFORMPREBUILTTOTARGETNOBOOTLOADER,SOWEDONTNEEDANYOFTHATSTUFFLOCAL_PATHVENDOR/ARDENT/MERLININCLUDECLEAR_VARSINCLUDEMOREBOARDSPECIFICSTUFFHERESUCHASAUDIOPARAMETERS10编译新的项目BUILD/ENVSETUPSHMAKEPRODUCTMTPUSER补充内容1上面的新建的几个文件的编写可以参考BUILD/TARGET/BOARD/GENERIC目录下的ANDROIDBOARDMK,BOARDCONFIGMK和SYSTEMPROP2产品MAKEFILE的编写规则,变量定义解释如下PRODUCT_NAME终端用户可见的产品名称,对应到“SETTINGS“中的“ABOUTTHEPHONE”信息PRODUCT_MODELENDUSERVISIBLENAMEFORTHEENDPRODUCTPRODUCT_LOCALES1个以空格分隔开的两个字母的语言码加上2字节的国家码的列表,影响到SETTINGS中的语言,时间,日期和货币格式设置,举例EN_GBDE_DEES_ESFR_CAPRODUCT_PACKAGES需要安装的APK应用程序列表PRODUCT_DEVICE工作设计名称,即主板名称PRODUCT_MANUFACTURER生产厂家PRODUCT_BRAND软件设计针对的客户品牌PRODUCT_PROPERTY_OVERRIDES以KEYVALUE为格式的属性列表PRODUCT_COPY_FILES文件复制列表,格式为“原文件路径目的文件路径”,编译过程中会按照此规则复制文件PRODUCT_OTA_PUBLIC_KEYS产品的OTA公共密匙列表PRODUCT_POLICY声明此产品使用的政策PRODUCT_PACKAGE_OVERLAYS指示是否使用默认资源或添加任何产品特定的资源,例如VENDOR/ACME/OVERLAYPRODUCT_CONTRIBUTORS_FILEHTML文件中包含项目的贡献者PRODUCT_TAGS以空格分隔开的指定产品关键词列表本文来自CSDN博客,转载请标明出处TTP//BLOGCSDNNET/JIAJIE961/ARCHIVE/2010/11/07/5993126ASPX制作UBIFS文件系统1,安装相关的软件包APTGETINSTALLLIBLZO2DEV2,获取相关的工具MKFSUBIFS和UBINIZE这两个工具是制作UBIFS文件系统的时候用到,它们是MTDUTILS工具包中的内容,MTDUTILS工具包你可以从下面的网站下载和编译出来官方网站HTTP//WWWLINUXMTDINFRADEADORG/INDEXHTML资源下载网站HTTP//GITINFRADEADORG/3,创建一个CREATEUBIFSSH脚本,主要是调用MKFSUBIFS和UBINIZE工具和相关参数来制作UBIFS文件系统,内容如下/BIN/BASHSCRIPTTOGENERATEUBIFSFILESYSTEMIMAGEUBINIZECONFIGURATIONFILECONFIG_FILEROOTFS_UBINIZECFGFUNCTIONTOCHECKRESULTOFTHECOMMANDCHECK_RESULT{IFNE0THENECHOFAILEDELSEECHOSUCCESSFULFI}FUNCTIONTOCHECKWHETHERANAPPLICATIONEXISTSCHECK_PROGRAM{FORCMDINDOWHICH{CMD}/DEV/NULL21IFNE0THENECHOECHOCANNOTFINDCOMMAND\{CMD}\ECHOEXIT1FIDONE}IFNE5THENECHOECHOUSAGECREATEUBIFSSHPAGE_SIZE_IN_BYTESPAGES_PER_BLOCKPARTITION_SIZE_IN_BYTESBLOCKS_PER_DEVICEPATH_TO_ROOTFSECHOEXITFIPAGE_SIZE_IN_BYTES1ECHOPAGESIZEPAGE_SIZE_IN_BYTESBYTESPAGES_PER_BLOCK2ECHOPAGESPERBLOCKPAGES_PER_BLOCKPARTITION_SIZE_IN_BYTES3ECHOFILESYSTEMPARTITIONSIZEPARTITION_SIZE_IN_BYTESBYTESBLOCKS_PER_DEVICE4ECHOBLOCKSPERDEVICEBLOCKS_PER_DEVICEPATH_TO_ROOTFS5WEAR_LEVEL_RESERVED_BLOCKSIS1OFTOTALBLCOKSPERDEVICEWEAR_LEVEL_RESERVED_BLOCKSEXPRBLOCKS_PER_DEVICE/100ECHORESERVEDBLOCKSFORWEARLEVELWEAR_LEVEL_RESERVED_BLOCKSLOGICAL_ERASE_BLOCK_SIZEISPHYSICALERASEBLOCKSIZEMINUS2PAGESFORUBILOGICAL_PAGES_PER_BLOCKEXPRPAGES_PER_BLOCK2LOGICAL_ERASE_BLOCK_SIZEEXPRPAGE_SIZE_IN_BYTES\LOGICAL_PAGES_PER_BLOCKECHOLOGICALERASEBLOCKSIZELOGICAL_ERASE_BLOCK_SIZEBYTESBLOCKSIZEPAGE_SIZEPAGES_PER_BLOCKBLOCK_SIZEEXPRPAGE_SIZE_IN_BYTES\PAGES_PER_BLOCKECHOBLOCKSIZEBLOCK_SIZEBYTESPHYSICALBLOCKSONAPARTITIONPARTITIONSIZE/BLOCKSIZEPARTITION_PHYSICAL_BLOCKSEXPRPARTITION_SIZE_IN_BYTES/BLOCK_SIZEECHOPHYSICALBLOCKSINAPARTITIONPARTITION_PHYSICAL_BLOCKS
编号:201311221429182474    类型:共享资源    大小:351.00KB    格式:DOC    上传时间:2013-11-22
  
8
关 键 词:
应用文书 项目管理 精品文档 Android?
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:Android系统移植技术详解【强烈推荐,非常经典】.doc
链接地址:http://www.renrendoc.com/p-112474.html

当前资源信息

4.0
 
(2人评价)
浏览:18次
淘宝运营上传于2013-11-22

官方联系方式

客服手机:17625900360   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

精品推荐

相关阅读

人人文库
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

网站客服QQ:2846424093    人人文库上传用户QQ群:460291265   

[email protected] 2016-2018  renrendoc.com 网站版权所有   南天在线技术支持

经营许可证编号:苏ICP备12009002号-5