MacPro Android7.0源码下载

2023-12-01 12:08

本文主要是介绍MacPro Android7.0源码下载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作为安卓开发,电脑上存储一份安卓的系统源码我觉得是很有必要的,今天就来说下源码下载过程中遇到的坑,以此来记录下。

因为安卓也是基于linux的,因此Linux环境下下载源码等是最好的,也是很方便的,当然,Mac OS也是可以下载源码的,反正都比Windows方便快捷吧。

看下谷歌官方的介绍: http://source.android.com/source/initializing.html 

这个是安装前的基本环境配置:

This section describes how to set up your local work environment to build the Android source files. You will need to use Linux or Mac OS. Building under Windows is not currently supported.

For an overview of the entire code-review and code-update process, see Life of a Patch.

上面说的也很清楚了,你需要Linux 或Mac环境,ok,下面就以Mac OS下载安卓源码。

在默认安装的Mac OS上运行的情况下,保留但不区分大小写的文件系统。这种类型的文件系统不支持的git,并会导致一些Git命令(如git status)运行异常。正因为如此,我们建议您始终与区分大小写的文件系统的AOSP源文件。这可以很容易使用的磁盘映像来完成,下面讨论。

一旦正确的文件系统是可用的,建立master 在现代的Mac OS环境分支是非常简单的。此前分支机构需要一些额外的工具和SDK。

1.创建区分大小写的磁盘映像

您可以使用一个磁盘映像您现有的Mac OS环境中区分大小写的文件系统。要创建图像,启动磁盘工具,选择“新形象”。25GB的尺寸是最小完成建设; 较大的数字更面向未来。使用稀疏图像节省空间,同时允许在需要时对以后成长。一定要选择“区分大小写,日记”为卷格式。

您还可以使用下面的命令外壳创建它:

# hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android.dmg 这个是创建了名字为android.dmg大小40G的磁盘

如果以后需要更大的容量,还可以调整使用以下命令调整磁盘大小:

# hdiutil resize -size <new-size-you-want>g ~/android.dmg.sparseimage

2. 将镜像文件转为可读写磁盘

hdiutil convert ~/android.dmg.sparseimage -format UDRW -o ~/android.dmg
以上步骤会在用户根目录生成android .dmg 和 android.dmg.sparseimage 文件,android.dmg.sparseimage文件可以删除,android.dmg可以转移到任何存储介质上和储存位置(Desktop,移动硬盘,u盘等),一旦你安装了android卷,你会做所有的工作在那里。你可以将其弹出(卸载它)就像你会与一个外部驱动器。

3. Repo下载与配置

Repo is a tool that makes it easier to work with Git in the context of Android. For more information about Repo, see the Developing section.

To install Repo

3.1 Make sure you have a bin/ directory in your home directory and that it is included in your path:

  1. $ mkdir ~/bin
    $ PATH=~/bin:$PATH
  2. $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
  3. $ chmod a+x ~/bin/repo

For version 1.21, the SHA-1 checksum for repo is b8bd1804f432ecf1bab730949c82b93b0fc5fede

For version 1.22, the SHA-1 checksum for repo is da0514e484f74648a890c0467d61ca415379f791

For version 1.23, the SHA-1 checksum for repo is ac9d646f6d699f6822a6bc787d3e7338ae7ab6ed

4.下载源码

楼主没有VPN,我Mac上用的蓝灯,推荐使用清华大学 TUNA 镜像源,使用每月更新的初始化包进行下载更新。

由于首次同步需要下载 24GB 数据,过程中任何网络故障都可能造成同步失败,我们强烈建议您使用初始化包进行初始化。

下载 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar,下载完成后记得根据 checksum.txt 的内容校验一下。

由于所有代码都是从隐藏的 .repo 目录中 checkout 出来的,所以我们只保留了 .repo 目录,下载后解压 再 repo sync 一遍即可得到完整的目录。

使用方法如下:

wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包(建议使用Http的网页方式下载,24个G,使用迅雷等)

tar xf aosp-latest.tar (解压文件,鼠标右键也可以)

cd aosp   # 解压得到的 aosp 工程目录(Mac 不区分大小写)

# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录

repo sync # 正常同步一遍即可得到完整目录

# 或 repo sync -l 仅checkout代码


遇到的问题:
1.将Repo中的源地址改为清华大学的,如果你有VPN的话,也就不会使用清华大学的源了,谷歌就可以下载

repo在主目录bin文件夹下,将repo用文本编辑器打开,将源地址改为图中的地址即清华大学的源,Ctrl+S保存关闭即可。
2.Repo Sync 如果出现repo:command not fount,方法如下:
echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
export PATH=$PATH:$HOME/bin

上述两个命令在命令行中临时配置一下,然后继续Repo Sync,此时可能已经在同步了,如果最后结果出现这个错误 

repo sync error: Exited sync due to fetch errors

使用repo sync -f 强制下载 (如果公司网络好的话,还是下载很快的,网络是一方面,否则你会觉得怎么还不行,怀疑自己,建议在家里边下载吧),下载完后,其实就可以看到源码了


我的因为内存不足的问题,没有下载完全,我准备将我的windows本上也下载下,保存一份,毕竟这个本是公司的,编译的话我就先不研究了,先看看这里的源码实现吧,好了,与君共勉,授人以鱼不如授人以渔,多看源码才会有进步,加油!
参考文章:
https://source.android.com/source/downloading.html
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
http://blog.csdn.net/u012915455/article/details/52252910
http://lib.csdn.net/article/android/13954

这篇关于MacPro Android7.0源码下载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/441090

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

Java ArrayList扩容机制 (源码解读)

结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义         1:数组默认长度         2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ,比如通过 new ArrayList<>(0),ArrayList 内部的数组 elementData 会指向这个 EMPTY_EL

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

2. 下载rknn-toolkit2项目

官网链接: https://github.com/airockchip/rknn-toolkit2 安装好git:[[1. Git的安装]] 下载项目: git clone https://github.com/airockchip/rknn-toolkit2.git 或者直接去github下载压缩文件,解压即可。

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除

前端form表单+ifarme方式实现大文件下载

// main.jsimport Vue from 'vue';import App from './App.vue';import { downloadTokenFile } from '@/path/to/your/function'; // 替换为您的函数路径// 将 downloadTokenFile 添加到 Vue 原型上Vue.prototype.$downloadTokenF