会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

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

  • 资源星级:
  • 资源大小:351.00KB   全文页数:73页
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

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

Android系统开发编译环境配置主机系统Ubuntu9.041安装如下软件包sudoaptgetinstallgitcoresudoaptgetinstallgnupgsudoaptgetinstallsunjava5jdksudoaptgetinstallflexsudoaptgetinstallbisonsudoaptgetinstallgperfsudoaptgetinstalllibsdldevsudoaptgetinstalllibesd0devsudoaptgetinstallbuildessentialsudoaptgetinstallzipsudoaptgetinstallcurlsudoaptgetinstalllibncurses5devsudoaptgetinstallzlib1gdevandroid编译对java的需求只支持jdk5.0低版本,jdk5.0update12版本和java6不支持。2下载repo工具curlhttp//android.git.kernel.org/repo/bin/repochmodax/bin/repo3创建源代码下载目录mkdir/work/androidfroyor24用repo工具初始化一个版本以android2.2r2为例cd/work/androidfroyor2repoinitugit//android.git.kernel.org/platform/manifest.gitbfroyo初始化过程中会显示相关的版本的TAG信息,同时会提示你输入用户名和邮箱地址,以上面的方式初始化的是android2.2froyo的最新版本,android2.2本身也会有很多个版本,这可以从TAG信息中看出来,当前froyo的所有版本如下newtagandroid2.2.1_r1android2.2.1_r1newtagandroid2.2_r1android2.2_r1newtagandroid2.2_r1.1android2.2_r1.1newtagandroid2.2_r1.2android2.2_r1.2newtagandroid2.2_r1.3android2.2_r1.3newtagandroidcts2.2_r1androidcts2.2_r1newtagandroidcts2.2_r2androidcts2.2_r2newtagandroidcts2.2_r3androidcts2.2_r3这样每次下载的都是最新的版本,当然我们也可以根据TAG信息下载某一特定的版本如下repoinitugit//android.git.kernel.org/platform/manifest.gitbandroidcts2.2_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/smb.conf,修改validusersXXXX为validuserssimba6重启samba服务sudo/etc/init.d/sambarestart7添加共享文件从系统系统管理samba,运行配置界面点击添加来添加共享文件夹,点击浏览来选择需要共享的文件夹,选择可擦写和显示,点击访问可以设置访问权限,最好设置成允许所有用户访问本文来自CSDN博客,转载请标明出处http//blog.csdn.net/jiajie961/archive/2010/11/04/5987821.aspxUbuntu下tftp服务器的创建实验平台Ubuntu9.041安装tftp服务sudoaptgetinstalltftptftpdopenbsdinetd2在根目录下创建文件夹tftpboot文件夹并修改权限cd/sudomkdirtftpbootsudochmod777tftpboot3修改/etc/inetd.conf文件如下tftpdgramudpwaitnobody/usr/sbin/tcpd/usr/sbin/in.tftpd/tftpboot4开启tftp服务sudo/etc/init.d/openbsdinetdreloadsudoin.tftpdl/tftpboot5重启电脑,然后将测试文件放入/tftpboot目录下即可开始测试,出现问题可能一般都是权限问题/tftpboot目录下的文件访问权限改成0777本文来自CSDN博客,转载请标明出处http//blog.csdn.net/jiajie961/archive/2010/11/05/5989328.aspx创建一个新的Android产品项目从google网站上下载的android源代码编译时默认是编译google设定的产品,如果要开发自己的产品,则需要重新定义一个产品项目,过程如下首先我们定义产品的规格,举例如下公司名称ardent产品名称MTP主板名称merlin然后安装下面的步骤新建产品项目1在源代码目录下创建一个用户目录mkdirvendor2在用户目录下创建一个公司目录mkdirvendor/merlin3在公司目录下创建一个products目录mkdirvendor/merlin/products4在上面创建的products下创建一个产品makefile文件MTP.mk,内容如下PRODUCT_PACKAGES\AlarmClock\Email\Fallback\Launcher2\Music\Camera\Settings\LatinIME\NotePad\SoundRecorder\Bluetooth\CertInstaller\DeskClockcallinheritproduct,SRC_TARGET_DIR/product/core.mkOverridesPRODUCT_MANUFACTURERardentPRODUCT_BRANDardentPRODUCT_NAMEMTPPRODUCT_MODELMultiMediaTouchPhonePRODUCT_DEVICEmerlinPRODUCT_LOCALESzh_CN产品makefile文件的编写有一套规则,详细情况见此文后面的补充内容。5在vendor/merlin/products目录下创建一个AndroidProducts.mk文件,定义Android产品配置文件的路径,具体如下PRODUCT_MAKEFILES\LOCAL_DIR/MTP.mk6在公司目录下创建一个主板目录mkdirvendor/ardent/merlin7在主板目录下新建一个主板配置文件BoardConfig.mk,内容如下TARGET_NO_BOOTLOADERtrueTARGET_NO_KERNELtrueTARGET_CPU_ABIarmeabiBOARD_USES_GENERIC_AUDIOtrueUSE_CAMERA_STUBtrue8如果你希望修改系统属性,则可以在主板目录下新建一个system.prop文件,该文件中可以修改系统属性,举例如下system.propforThisoverridessettingsintheproducts/generic/system.propfilerild.libpath/system/lib/libreferenceril.sorild.libargsd/dev/ttyS09在主板目录下建议一个Android的主板配置文件AndroidBoard.mk,此文件是编译系统接口文件,内容如下makefilefornewhardwarefromLOCAL_PATHcallmydirthisisheretousetheprebuiltkernelifeqTARGET_PREBUILT_KERNEL,TARGET_PREBUILT_KERNELLOCAL_PATH/kernelendiffileINSTALLED_KERNEL_TARGETALL_PREBUILTfilefileTARGET_PREBUILT_KERNEL|ACPtransformprebuilttotargetnobootloader,sowedontneedanyofthatstuff..LOCAL_PATHvendor/ardent/merlinincludeCLEAR_VARSincludemoreboardspecificstuffhereSuchasAudioparameters.10编译新的项目.build/envsetup.shmakePRODUCTMTPuser补充内容1上面的新建的几个文件的编写可以参考build/target/board/generic目录下的AndroidBoard.mk,BoardConfig.mk和system.prop2产品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//blog.csdn.net/jiajie961/archive/2010/11/07/5993126.aspx制作ubifs文件系统1,安装相关的软件包aptgetinstallliblzo2dev2,获取相关的工具mkfs.ubifs和ubinize这两个工具是制作ubifs文件系统的时候用到,它们是mtdutils工具包中的内容,mtdutils工具包你可以从下面的网站下载和编译出来官方网站http//www.linuxmtd.infradead.org/index.html资源下载网站http//git.infradead.org/3,创建一个createubifs.sh脚本,主要是调用mkfs.ubifs和ubinize工具和相关参数来制作ubifs文件系统,内容如下/bin/bashScripttogenerateubifsfilesystemimage.ubinizeconfigurationfileconfig_filerootfs_ubinize.cfgFunctiontocheckresultofthecommandcheck_result{ifne0thenechoFAILEDelseechoSUCCESSFULfi}Functiontocheckwhetheranapplicationexistscheck_program{forcmdindowhich{cmd}/dev/null21ifne0thenechoechoCannotfindcommand\{cmd}\echoexit1fidone}ifne5thenechoechoUsagecreateubifs.shpage_size_in_bytespages_per_blockpartition_size_in_bytesblocks_per_devicepath_to_rootfsechoexitfipage_size_in_bytes1echoPagesizepage_size_in_bytesbytes.pages_per_block2echoPagesperblockpages_per_blockpartition_size_in_bytes3echoFilesystempartitionsizepartition_size_in_bytesbytes.blocks_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_sizebytes.Blocksizepage_sizepages_per_blockblock_sizeexprpage_size_in_bytes\pages_per_blockechoBlocksizeblock_sizebytes.physicalblocksonapartitionpartitionsize/blocksizepartition_physical_blocksexprpartition_size_in_bytes/block_sizeechoPhysicalblocksinapartitionpartition_physical_blocks

注意事项

本文(Android系统移植技术详解【强烈推荐,非常经典】.doc)为本站会员(淘宝运营)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5