基于Android 5.0的源码编译过程
来源:互联网 发布:开淘宝店怎么找客户 编辑:程序博客网 时间:2024/05/16 09:07
转载请注明出处:http://blog.csdn.net/yianemail/article/details/51577665
Q1:编译源码带来什么好处?
显而易见,获取隐藏api,编译 Android 源码会让你对 Android 整体框架有更具体的宏观概念。
Q2:源码的概念是什么?
“源码” 概念意义上指的是google发布的基于linux内核的一套解决方案。
针对ARM平台的做的各种适合嵌入式设备的一套代码。
包括现在很多Android手机厂商,其实都是对源码做修改。从而定制自己的Android设备。
源码编译过程 (我是基于OS X 10.10.3)
一:
1,创建大小写敏感的磁盘镜像
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/Android.dmg.sparsefile
硬盘本地目录下(~/)创建一个40G的sparsefile image,名字叫做Android,此虚拟硬盘支持大小写。
2,把分区挂载到.bash_profile(bash_profile文件主要是系统开机启动的配置)。
open .bash_profile
把以下命令放在.bash_profile
# mount the android file image
function mountAndroid { hdiutil attach ~/android.dmg.sparsefile -mountpoint /Volumes/android; }
二: 需要安装的工具
(1) 安装Xcode (建议安装最新版,但是有ox 版本限制)
各个版本xcode
http://blog.sina.com.cn/s/blog_4caf02490102vr4s.html
(2)安装MacPort,macports from macports.org (需要修改.bash_profile 文件,加入以下命令)
export PATH=/opt/local/bin:$PATH
(3) 通过MacPort安装make,Git,GPG
执行sudo port install gmake libsdl git-core gnupg
然后输入你的密码
注:若出现
Error: git-core has been replaced by git; please install that instead.
Error: org.macports.configure for port git-core returned: obsolete port
Please see the log file for port git-core for details:
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_git-core/git-core/main.log
To report a bug, follow the instructions in the guide:
http://guide.macports.org/#project.tickets
Error: Processing of port git-core failed
则表明你已安装过git (可以忽略此错误,继续往下执行)
(4) 修改文件描述符限制
修改.bash_profile
# set the number of open files to be 1024
ulimit -S -n 1024
三: 下载源码 (此处可参考google)
http://source.android.com/source/downloading.html
(1) 创建目录~/bin
mkdir ~/bin
(2) 修改 .bash_profile
export PATH=~/bin:$PATH
(3) 安装repo 关于repo ,并修改权限
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
(4) 创建Android 源码文件夹
mkdir android_source
cd android_source
(5) 执行repo init
git config --global user.name "(本机git用户名)"git config --global user.email "(本机git邮箱)"repo init -u https://android.googlesource.com/platform/manifest
最后你会得到一个 repo has been initialized in /Users/luhuanju/android_source的提示,说明初始化成功
(6)下载源码
repo init -u git://Android.git.linaro.org/platform/manifest.git -b + (源码tag)
关于源码tag
比如我的5.0版本:
repo init -u git://Android.git.linaro.org/platform/manifest.git -b android-5.0.2_r1
(7) repo同步,在android_source目录下执行repo sync下载代码
~/repo sync
(过程超级长~)
四 :编译源码
(1)初始化编译环境
. build/envsetup.sh
(2)选择编译目标包
执行 lunch
如果是只执行模拟器 选择1即可
注:若出现
Can not find SDK 10.6 at /Developer/SDKs/MacOSX10.6.sdk
Don’t have a product spec for: ‘aosp_arm’
则表明xCode sdk版本不对应
(/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs)查看当前系统的SDK版本是多少。比如我的SDK版本是MacOSX10.11.sdk,接下来编辑build/core/combo/mac_version.mk中的mac_sdk_versions_supported所在的行添加10.10就行了
(3)编译
make j4 (这个过程也是有点长~)
- 基于Android 5.0的源码编译过程
- 编译android源码的过程
- 杨梅派 (Waxberry Pi)基于官方Android源码的编译过程
- Android源码编译过程
- Android 源码编译过程
- 基于Android源码的模块编译
- android 系统源码简单的编译过程
- Android--Android编译源码过程
- android必备:源码编译过程
- android原始源码编译过程
- Android 源码编译过程解释
- 基于2.6.29内核的x86平台Android编译过程
- 基于ubuntu12.04-32bit的android Froyo源码编译
- Android源码基于Ubuntu的Eclipse编译调试
- 总结出Ubuntu 9.04下编译Android源码的过程
- Ubuntu 9.04下编译Android源码的过程 收藏
- Ubuntu 9.04下编译Android源码的过程
- Ubuntu 9.04下编译Android源码的过程
- iOS性能优化
- Linux常用命令:chmod命令
- 3ds Max材质贴图批量重命名
- HAL开发全流程(验证)
- CentOS、Ubuntu、Debian三个linux比较异同
- 基于Android 5.0的源码编译过程
- 用Javasrcipt写一个计算器的小程序[代码]
- 浏览器DNS解析过程
- Android Studio集成jni so原来如此简单
- Linux常用命令:tar命令
- 决策树
- dataview的RowFilter的用法
- 解决在Windows server 2008 安装Python2.7版本
- HTTP状态码中301与302的区别