Ubuntu16.04下编译Android 6.0 源码
来源:互联网 发布:centos owncloud 安装 编辑:程序博客网 时间:2024/05/16 17:37
Ubuntu16.04下编译Android 6.0源码
1、下载源码
网盘下载地址:https://pan.baidu.com/s/1miuaO0C
2、安装必要的依赖
16.04环境下所需要的依赖如下:
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install lib32z-dev ccache
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
在安装上述依赖的的过程中,碰到了一个问题:
pkg:error processing archive /var/cache/apt/archives/zlib1gdev_1%3a1.2.8.dfsg-2ubuntu4_i386.deb (–unpack):
trying to overwrite ‘/usr/include/i386-linux-gnu/zconf.h’, which is also in package lib32z1-dev 1:1.2.8.dfsg-2ubuntu4
Processing triggers for man-db (2.7.4-1) …
Errors were encountered while processing:
/var/cache/apt/archives/zlib1g-dev_1%3a1.2.8.dfsg-2ubuntu4_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
中文环境下大概就是
正在解压缩 zlib1g-dev:amd64 ( …/zlib1g-dev_1%3a1.2.7.dfsg-13_amd64.deb) …
dpkg:errorprocessing
/var/cache/apt/archives/zlib1gdev_1%3a1.2.7.dfsg13_amd64.deb(–unpack):
正试图覆盖 /usr/include/zconf.h,它同时被包含于软件包 zlib-devel 1.2.3-4
解决办法就是:
sudo apt-get -o Dpkg::Options::=”–forceoverwrite”install lib32z1-dev
来源于:http://askubuntu.com/questions/176121/dpkg-error-trying-to-overwrite-file-which-is-also-in
3、编译环境的搭建
要在ubuntu上编译6.0源码,需要ubuntu 14.04以上版本,OpenJDK 7,GUN Make 3.81-3.82
具体资料可参照https://source.android.com/source/requirements.html
4、修改clang编译器设置
修改 /art/build/Android.common_build.mk 文件,在75行,即
# Host.ART_HOST_CLANG := falseifeq ($(WITHOUT_HOST_CLANG),false) # By default, host builds use clang for better warnings. ART_HOST_CLANG := trueendif
在这里中,改为:
# Host.ART_HOST_CLANG := falseifneq ($(WITHOUT_HOST_CLANG),true) # By default, host builds use clang for better warnings. ART_HOST_CLANG := trueendif
请将ifeq ($(WITHOUT_HOST_CLANG),false)
改为ifneq ($(WITHOUT_HOST_CLANG),true)
改为ifneq ($(WITHOUT_HOST_CLANG),true)
改为ifneq ($(WITHOUT_HOST_CLANG),true)
5、开始编译
在 .bashrc文件末尾添加:export USE_CCACHE = 1
echo export USE_CCACHE=1 >> ~/.bashrc
设置缓存,这里要根据自己分区的大小做相应调整
prebuilts/misc/linux-x86/ccache/ccache -M 30G
导入环境变量
source build/envsetup.sh
运行lunch命令选择编译目标:
lunch
根据自己需求选择,我选1
开始编译:
make -j8
6、运行模拟器
emulator
- Ubuntu16.04下编译Android 6.0 源码
- win7下安装Ubuntu16.04及android源码下载,编译
- android源码编译(Ubuntu16.04 + Android 6.0)
- Ubuntu16.04下编译android6.0源码
- ubuntu16.04下编译linphone源码
- ubuntu16.04 编译android 源码出现的错误
- ubuntu16.04 编译android 源码出现的错误
- Ubuntu16.04编译6.0系统并使用ANdroid studio查看源码
- Ubuntu16.0.4安装与编译Android源码
- Ubuntu16.04下编译OpenCV
- ubuntu16.04下编译kvazaar
- 编译android 7.1.1 在Ubuntu16.04下
- Ubuntu16 64位下编译linphone-android
- Ubuntu16.04 LTS 编译Android6.0.1源码
- Ubuntu16.04 从源码编译LLVM+Clang
- Ubuntu16.04源码编译mysql-5.6.26
- ubuntu16.04编译android6_r1源码绕坑贴
- Ubuntu16.04编译Android5.1源码
- hibernate总结(3)
- 一些不常见的Go命令参数详解
- bootstrap-datepicker 插件修改为默认中文
- Android硬件抽象层(HAL)概要介绍
- 顺序表应用8:最大子段和之动态规划法
- Ubuntu16.04下编译Android 6.0 源码
- 设计模式之———单例模式的问题及效率比较
- Ubuntu 用vsftpd 配置FTP服务器
- 自定义百度网盘分享密码 提取码
- SQL Server的Merge —— 一步实现 insert,update,delete
- Lambda表达式使用汇总
- AVL树
- Hadoop分布式环境搭建
- 【Linux 系统编程】shell 命令和流程控制(二)