• Windows 中下载 Android Q 源码


     

    1.  安装软件

    1.1.  安装 git

    A.git官网下载:https://git-scm.com/downloads/ 

    安装git到如下路径

    C:/Program Files/Git

    B.图形化工具:https://tortoisegit.org/

    1.2.  安装 Python

    python官网下载:https://www.python.org/downloads/

    安装python到如下路径

    C:/Program Files/python

    2. 下载源码

    2.1. 克隆源代码仓库

    在 E 盘创建如下文件夹(没有E盘也可以)

    mkdir E:/android_source/

    打开 Git Bash,用下面命令下载代码仓库

    cd E:/android_source/
    git clone https://android.googlesource.com/platform/manifest.git

    如果无法访问google,使用清华源

    git clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest.git

    2.2. 切换到Android Q对应的版本

     先查询想要下载的android Q版本

    cd manifest
    git branch -a 

    当前 android q 版本如下,使用最新的  android-q-preview-2.5

     

    git checkout android-q-preview-2.5

    3. 执行Python脚本进行源代码下载

     在E盘创建android_q的源码目录

    cd E:/android_source/
    mkdir android_q
    cd android_q

     复制下面的代码保存到本地,命令为download.py

    import xml.dom.minidom
    import os
    from subprocess import call
     
    # 1. 修改为源码要保存的路径
    rootdir = "E:/android_source/android_q"
     
    # 2. 设置 git 安装的路径
    git = "C:/Program Files/Git/bin/git.exe"
    
    # 3. 修改为第一步中 manifest 中 default.xml 保存的路径
    dom = xml.dom.minidom.parse("E:/android_source/manifest/default.xml")
    root = dom.documentElement
     
    prefix = git + " clone https://android.googlesource.com/"
    # 4. 没有梯子使用清华源下载
    # prefix = git + " clone https://aosp.tuna.tsinghua.edu.cn/"
    suffix = ".git"  
    
    if not os.path.exists(rootdir):  
        os.mkdir(rootdir)  
    
    for node in root.getElementsByTagName("project"):  
        os.chdir(rootdir)  
        d = node.getAttribute("path")  
        last = d.rfind("/")  
        if last != -1:  
            d = rootdir + "/" + d[:last]  
            if not os.path.exists(d):  
                os.makedirs(d)  
            os.chdir(d)  
        cmd = prefix + node.getAttribute("name") + suffix  
        call(cmd)
    

     同步代码,执行下面的命令后坐等代码下完即可

    python download.py
    

     

    MAC 下源码流程、编译和刷机教程传送门:https://www.cnblogs.com/larack/p/9722954.html

  • 相关阅读:
    leetcode69 X的平方根的几种解法
    记录一次安装OpenGL的漫长过程
    Java序列化和反序列化
    volatile和synchronized关键字
    netty中的传输
    SpringBoot集成netty实现客户端服务端交互和做一个简单的IM
    netty入坑第一步:了解netty和编写简单的Echo服务器和客户端
    java几种垃圾收集方法和垃圾收集器
    SpringCloud-7-Config
    SpringCloud-6-Zuul
  • 原文地址:https://www.cnblogs.com/larack/p/10896875.html
Copyright © 2020-2023  润新知