[2018年最新整理]Android编译过程总结.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[2018年最新整理]Android编译过程总结

编译环境:ubuntu 10.04(或者更高)(windows平台目前不被支持) 本文以编译android2.3为例,64位操作系统 1、编译环境的准备 ?( 1)确保安装有ubuntu系统或者虚拟机 (2)安装JDK1.6(对于Android2.3以上代码) $ sudo add-apt-repository deb / lucid partner $ sudo add-apt-repository deb-src /ubuntu lucid partner $ sudo apt-get update $ sudo apt-get install sun-java6-jdk (3)安装一些需要软件包 $ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \ x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \ libgl1-mesa-dev g++-multilib mingw32 tofrodos (4)安装repo $ git clone git:///tools/repo.git $ mkdir ~/bin $ cp repo-script/repo ~/bin $ vim ~/.bashrc ,将~/bin加入PARH环境变量,如: $ export PATH=~/bin:$PATH  保存后,同步更新:source ~/.bashrc (5)设置git 执行以下语句 $git config --global 你的名字 $git config --global user.email 你的email地址 (6)同步源代码 1)创建工程目录: $ mkdir myandroid $ cd myandroid 2)repo初始化以及同步代码 $repo init -u server@192.168.x.xx:git库名/manifest.git -b 主分支名 在此过程中需要输入名字和email地址。初始化成功后,会显示:repo initialized in /android 在~/android下会有一个.repo的隐藏目录 $repo sync(这一步会花费很长时间) 2、编译 (1)注意事项 执行ls -la /bin/sh命令,如果输出/bin/sh - dash, 请执行$ sudo dpkg-reconfigure dash命令修改sh版本,并选择“否”; 此处如果不改好的话,编译时会出现错误。 (2)代码下载完成后就可以进行编译了 $ cd myandroid $ make(此过程需要很长时间) (3)编译完成后的代码结构 Android编译完成之后,将会在根目录下生成一个out文件夹,所有生成的内容均放在这个文件夹中。 Out文件夹的内容以及结构如下: out/   |-- CaseCheck.txt   |-- casecheck.txt   |-- host   | |-- common   | `-- linux-x86   `-- target   |-- common   `-- product 两个主要的目录为host和target,host表示主机(x86)生成的工具,target表示目标机运行的内容。 Host目录的结构如下所示: out/host/   |-- common   | `-- obj(JAVA库)   `-- linux-x86   |-- bin(二进制程序)   |-- framework(JAVA库,*.jar文件)   |-- lib(共享库*.so)   `-- obj(中间生成的目标文件) host目录是一些在主机上用的工具,有一些是JAVA的程序。 Target目录的结构如下: out/target/   |-- common   | |-- R(资源文件)   | |-- docs   | `-- obj(目标文件)   `-- product   `-- generic 其中common目录表示通用的内容,product表示的产品的内容。 在common目录的obj中,包含两个重要的目录: APPS:包含了JAVA应用程序生成的目标,每个应用程序对应其中的一个子目录,将结合每个应用程序的原始文件生成Android应用程序的APK包。 JAVA_LIBRARIES中包含了JAVA的库,每个库对应其中的一个子目录。 在默认情况下,Android编译将生成generic目录,如果选定产品还可

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档