最近在Ubuntu14.04上下载Android源码遇到的各种问题总结。网上搜到的各种搭建环境的文章,总是会出现一些这样那样的问题。

1、Ubuntu14.04镜像下载地址
Ubuntu14.04
2、安装完系统后安装ssh方便本地window客户端工具连接Linux
安装命令
sudo apt-get install openssh-server
查看SSH服务是否启动命令
sudo ps -e |grep ssh
如果没有启动,输入命令。
sudo service ssh start
3、安装samba 方便Linux服务器 和window客户端共享文件
首先同步源的索引,保证获取到最新的软件包,
执行sudo apt-get update
安装samba和samba-common
sudo apt-get install samba samba-common
在Linux下创建共享目录
mkdir rocker_share
设置为所有人都可读可写可执行
sudo chmod 777 /home/rocket/rocker_share
更改Samba文件配置
sudo vim /etc/samba/smb.conf
添加以下内容

security = user
[rocket]
comment = rocket share
path = /home/rocket/rocket_share
browseable = yes
writable = yes

设置window系统登入共享文件夹的用户名和密码
sudo smbpasswd -a rocket
重新启动smb服务。
sudo service smbd restart
然后在window下映射共享文件

4、JDK 8 安装
下载jdk
通过终端在/usr/local目录下新建java文件夹
sudo mkdir /usr/local/java
将下载到压缩包拷贝到java文件夹中
cp jdk-8u171-linux-x64.tar.gz /usr/local/java
然后进入java目录
cd /usr/local/java
解压压缩包
sudo tar xvf jdk-8u171-linux-x64.tar.gz
然后可以把压缩包删除
sudo rm jdk-8u171-linux-x64.tar.gz
设置jdk环境变量
sudo vim ~/.bashrc
打开之后在末尾添加

export JAVA_HOME=/usr/local/java/1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

最后在终端执行下 sudo source /etc/profile刷新下环境变量
在终端输入如下命令
java -version

java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

出现上述信息表示安装完成,配置也正确。

5、安装ccache

sudo apt-get install ccache
source ~/.bashrc

6、安装编译源码所需要的工具集
这些工具集务必要提前安装好,否则会编译出错,且难以排查,导致浪费时间。你可以依次安装软件也可以一次性安装(建议依次安装,这样抱错的话能够及时有针对性的排除)

sudo apt-get install git-coresudo apt-get install gitsudo apt-get install gnupgsudo apt-get install flexsudo apt-get install bisonsudo apt-get install gperfsudo apt-get install build-essentialsudo apt-get install build-essentialsudo apt-get install zipsudo apt-get install curlsudo apt-get install libc6-devsudo apt-get install libncurses5-dev:i386sudo apt-get install x11proto-core-devsudo apt-get install libx11-dev:i386sudo apt-get install libreadline6-dev:i386sudo apt-get install libgl1-mesa-devsudo apt-get install g++-multilibsudo apt-get install mingw32sudo apt-get install tofrodossudo apt-get install python-markdownsudo apt-get install libxml2-utilssudo apt-get install xsltprocsudo apt-get install zlib1g-dev:i386sudo apt-get install dpkg-dev

7、下载硬件驱动程序

虽然android是开源的,但是各个厂家的硬件设备存在差异、硬件驱动也是不同的。这也是各个厂家维护自己利益的一种途径。google旗下的nexus产品的驱动你可以在

https://developers.google.com/android/nexus/drivers#shamu
因为国内的限制,该网站并不可访问。

8、Android源码下载

mkdir ~/bin
PATH=~/bin:$PATH
下载repo工具并让它具有可执行权限
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
由于国内上网限制还可以用清华大学TUNA镜像源,由于清华大学TUNA镜像源关闭了git://协议,仅支持HTTPS,所以需将REPO_URL修改为:
https://aosp.tuna.tsinghua.edu.cn/android/git-repo才可以正常使用
git clone https://aosp.tuna.tsinghua.edu.cn/android/git-repo
cp git-repo/repo  ~/bin/      //将上一个步骤中得到的git-repo中的repo文件拷贝到bin目录
sudo  vim   ~/bin/repo
REPO_URL = 'https://aosp.tuna.tsinghua.edu.cn/android/git-repo'
在用户的home目录下新建Android_src目录,并用repo初始化指定android某个版本的分支
mkdir  ~/android-8.0.0_r10 //新建目录
cd  ~/android-8.0.0_r10 //进入目录
配置git的用户信息
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
repo关联android源码
repo init -u https://android.googlesource.com/platform/manifest //会关联最新的android版本
如果要指定某个版本
repo init -u https://android.googlesource.com/platform/manifest -b android-8.0.0_r10 // -b设置分支,android-8.0.0_r10分支名

注:如果要查看所有的分支名,请转到
https://source.android.com/source/build-numbers.html#source-code-tags-and-builds
大概给大家截图看一下最新的版本

由于国内限制,可以执

repo init -u https://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-8.0.0_r10

9、开始执行下载

repo sync //就开始下载了。我当时是翻墙的,大概一个晚上搞定了。如果中途断了,重新执行repo sync即可。

10、驱动程序下载

  1. git clone https://aosp.tuna.tsinghua.edu.cn/kernel/common.git
  2. git check out“branchName”

Android 8.0源码下载及编译环境搭建相关推荐

  1. Android9.0 源码下载和编译

    一 . 安装Ubuntu虚拟机 参考在VirtualBox 6虚拟机上安装Ubuntu Linux 18.04操作系统 这里我是参考这篇博客的安装的,需要注意的是Ubuntu的版本一定要是稳定版的,官 ...

  2. 【Android】系统源码下载及编译

    源码及编译 步骤 1:创建一个空目录来存放源码: mkdir aosp cd aosp 步骤 2:获取最新版本的 repo 并签出 android-8.1.0_r1 分支: repo init -u ...

  3. 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷 ...

  4. Android 4.0.1 源码下载,编译和运行

    [牛人分享]Android 4.0.1 源码下载,编译和运行 转自 http://blog.csdn.net/rambo2188/article/details/6943382 ----------- ...

  5. [Android编译(二)] 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

    1 前言 经过一周的奋战,终于从谷歌官网上下载最新的Android 6.0.1_r62源码,编译成功,并成功的刷入nexus6p,接着root完毕,现写下这篇博客记录一下实践过程. 2 简介 自己下载 ...

  6. Ubuntu下Android 4.0源码及内核下载编译注意点

    Android源码编译再source.android.com上有完整的教程,在这里只说一下自己在下载和编译时遇到的一些问题 一.Android4.0源码下载注意事项: 1.使用64位的ubuntu比较 ...

  7. VLC for Android源码下载和编译

    Project Hosting on 点击打开链接 最受欢迎的开源项目 点击打开链接 由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏.图像处理.时间显示.开始菜单快捷方式等. ...

  8. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:http://item.jd.com/12212640.html 试读地址:http:/ ...

  9. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译...

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:item.jd.com/12212640.ht- 试读地址:www.epubit.com ...

最新文章

  1. BZOJ2002: [Hnoi2010]Bounce 弹飞绵羊
  2. python实现不重复排列组合_Python实现输入字符串,返回其任意排列组合
  3. OpenCV极线epipolar lines的实例(附完整代码)
  4. DataWorks搬站方案:Azkaban作业迁移至DataWorks
  5. gg oracle tjs 同步_配置Goldengate从Oracle到PostgreSQL的同步复制
  6. java泛型学习一:解惑继承
  7. Hadoop之Hadoop数据压缩
  8. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 9丨有趣的电影【难度简单】
  9. 哪里是我们最好的避风港?
  10. block的理解 ios_深入理解iOS的block (下)
  11. springboot集成购买阿里的rocketmq
  12. 英语思维导图大全 数词(八)
  13. java将Map转换为List
  14. java毕业设计户籍管理系统(附源码、数据库)
  15. 计算机术语中的channel,English 中关于道路方面用词之(4)—Channel, Tunnel
  16. 全站开发-列表讲解、切片、内置方法、元组、字典
  17. python3图片处理(笔记)
  18. checkbox选中属性
  19. 图像滤波【一】:从高斯滤波到引导滤波
  20. 【Linux进程、线程、任务调度】三 CPU/IO消耗型进程 吞吐率/响应 SCHED_FIFO算法与SCHED_RR算法 SCHED_NORMAL算法和CFS算法 nice与renic chrt

热门文章

  1. windows 部分热键集锦
  2. python-17-并行计算和分布式计算框架dask
  3. 2021-2027全球与中国触控马达市场现状及未来发展趋势
  4. ubuntu使用mkdir创建文件夹的时候递归创建并显示
  5. 从「搭子」文化,看融云如何助力垂类社交应用增长
  6. mysql时间差计算
  7. 中国医疗保健欺诈检测市场趋势报告、技术动态创新及市场预测
  8. 单纯形法可以用计算机算法写吗,单纯形法及其应用.doc
  9. java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
  10. npm install -g 和 npm install 区别?