zoukankan      html  css  js  c++  java
  • 通过清华大学镜像下载Android源码并编译源码

        之前看源码都是在Windows下用SourceInsight看,虽然达到了研究源码的效果,但终究还是有遗憾。。。趁着周末,准备在Ubuntu虚拟机上下载编译源码。

        之前下源码时,有了解一些Android源码的情况。网上的教程很多也是从谷歌官网下源码,但是最近蓝灯不好用,翻墙效率有点低,而且翻墙的网速肯定无

    法和国内的网速相比。所以,从国内的镜像下载源码无疑是个更好的选择。国内的镜像也有好几个,不过我最终选择了清华大学的镜像,也许这是学生时代的

    情怀影响了我。

        确定了要使用清华大学的镜像,就先找清华大学镜像的教程。教程地址:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

        根据教程内容,下载Android源码。中间也遇到几个坑。。。以下是下载步骤:

         1.打开终端

         2.依次输入以下命令:

    mkdir ~/bin
    PATH=~/bin:$PATH
    curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo   #使用tuna的git-repo镜像
    chmod a+x ~/bin/repo

         3.打开bin文件夹下的repo文件,将

    REPO_URL = 'https://gerrit.googlesource.com/git-repo'

    改为

    REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

       4.使用每月更新的初始化包。使用方法如下:

    wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包
    tar xf aosp-latest.tar
    cd aosp# 解压得到的 aosp工程目录
    # 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
    repo sync # 正常同步一遍即可得到完整目录
    # 或 repo sync -l 仅checkout代码

    初始化包有40多G,趁着昨晚网速快,电脑下着,自己先去睡觉了,第二天起来已经下好了。

    执行最后一行命令结束后,aosp文件夹里可以看到源码,这个源码是最新的(Android P),要其他版本的源码的话,可以切其他分支。

    注意:下的包真的大,我刚开始给虚拟机设50G硬盘,完全不够用。。。后面直接扩充到150G了。。。(编译之后也基本满了。。。)

        下载源码到这里结束了,接下来是编译源码。编译步骤如下:

         1.安装openjdk1.8

    sudo apt-get install openjdk-8-jdk

         2.开始编译

    source build/envsetup.sh 
    
    lunch aosp_arm-eng 
    
    make -j8   #(这里的数字是根据系统配置来的,比如2核2线程的就可以选择j4,数字越高编译越快,前提你的电脑硬件要支持。。。我的电脑刚好是8)

    之后就是漫长的编译期。。。我吃饭回来的时候,显示编译失败了。。。不过当时电脑出了点故障,没有理会,重启之后继续编译。然后。。。编译通过了。。。

          anyway,编译通过了,到了开启模拟器验证的时候了。。。输入以下命令打开模拟器:

    emulator    #退出终端后,第二次进入终端执行该命令会报错,这是编译环境的原因,需要再次执行命令  sourcebuild/envsetup.sh;lunchaosp_arm-eng

    模拟器成功开启,就是第一次打开的时候,老是要我选择关闭还是等待。。。Android P的源码还是Bug比较明显吗。。。

    以下是模拟器截图:

    下载编译都ok了,该收工了~~~

  • 相关阅读:
    Redis(二)
    Redis
    Nginx
    Linux的环境配置
    深入mysql
    SpringBoot入门
    Thymeleaf入门
    Mybatis之resultMap
    Mybatis入门
    使用第三方实现微信登录
  • 原文地址:https://www.cnblogs.com/shenchanghui/p/8503623.html
Copyright © 2011-2022 走看看