AOSP源码下载及问题小结

 更新时间:2022年03月16日 16:47:06   作者:Amosstan  
这篇文章主要介绍了AOSP源码下载,包括源码下载示例,文中给大家介绍了配置下载方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、说明

由于一些原因,利用谷歌的资源下载Android源码速度很慢,我们可以用清华源里面的资源进行下载。
清华源AOSP配置下载地址详解:Android 镜像使用帮助

二、源码下载示例

由于清华源中给出很清晰的配置下载方法,这儿只做几条总结:

1. 谷歌镜象不可用,采用清华源镜象

https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

2. 配置repo

mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo

注意:repo最好加到系统的环境变量中。

3. repo更新

repo的运行过程中会尝试访问官方的git源更新自己,如果想使用tuna的镜像源进行更新,可以将如下内容复制到你的~/.bashrc里

export 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

5. 解压资源包

tar xf aosp-latest.tar

6. 更新指定版本

比如指定下载android-6.0.1_r62,执行以下命令:

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-6.0.1_r62
repo sync

如果遇到"SyntaxError: invalid syntax"等错误,如下所示:

File "/home/jerry/workspace/aosp/.repo/repo/main.py", line 79
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

应该是python语法导致的,解决方法如下:

python3 ~/bin/repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-6.0.1_r62
python3 ~/bin/repo sync

7. 快捷脚本

由于网络及限制网络并发等原因,repo sync常常更新失败,可以用脚本来更新,脚本示例:

repo sync -j4
	while [ $? = 1 ]; do
	        echo "==== sync failed, re-sync again ===="
	        sleep 3
	        repo sync -j4
	done

三、注意

1. 遇到同步失败的问题

比如OMA-DM这个app同步失败,我们可以修改AOSP目录下的.repo/manifests/default.xml来屏蔽掉这个应用的同步,如下图:

在这里插入图片描述

2. 遇到python语法问题

参照如下语法根据实际情况执行repo命令,注意repo要写上绝对路径,否则会报错。

python3 ~/bin/repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-6.0.1_r62
python3 ~/bin/repo sync

到此这篇关于AOSP源码下载的文章就介绍到这了,更多相关AOSP源码下载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android自定义View实现绘制水波浪温度刻度表

    Android自定义View实现绘制水波浪温度刻度表

    这篇文章主要为大家详细介绍了Android如何利用自定义View实现一个水波浪温度刻度表,文中的示例代码讲解详细,感兴趣的小伙伴可以尝试一下
    2022-11-11
  • 基于Flutter实现动态高斯模糊的流程步骤

    基于Flutter实现动态高斯模糊的流程步骤

    一个App加上高斯模糊会形成一种高级的感觉,本文将介绍如何制作一个根据背景内容来动态高斯模糊,文中有详细的代码实现步骤,代码示例讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2023-11-11
  • Android给自定义按键添加广播和通过广播给当前焦点输入框赋值

    Android给自定义按键添加广播和通过广播给当前焦点输入框赋值

    这篇文章主要介绍了Android给自定义按键添加广播和通过广播给当前焦点输入框赋值的相关资料,需要的朋友可以参考下
    2016-10-10
  • Android编程获取控件宽和高的方法总结分析

    Android编程获取控件宽和高的方法总结分析

    这篇文章主要介绍了Android编程获取控件宽和高的方法,结合实例形式对比总结并分析了Android控件属性的相关操作技巧,需要的朋友可以参考下
    2016-01-01
  • Android自定义上下左右间隔线

    Android自定义上下左右间隔线

    这篇文章主要为大家详细介绍了Android自定义上下左右间隔线,自定义SpaceItemDecoration分割线,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Flutter Dio二次封装的实现

    Flutter Dio二次封装的实现

    这篇文章主要介绍了Flutter Dio二次封装的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 完美解决客户端webview持有的页面缓存,不会立即释放的问题

    完美解决客户端webview持有的页面缓存,不会立即释放的问题

    下面小编就为大家带来一篇完美解决客户端webview持有的页面缓存,不会立即释放的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Android图片加载利器之Picasso源码解析

    Android图片加载利器之Picasso源码解析

    这篇文章主要为大家详细解析了Android图片加载利器之Picasso源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Flutter Android应用启动白屏的解决方案

    Flutter Android应用启动白屏的解决方案

    任何一个app基本都会设计一个启动页,今天我们就来看看怎么在flutter项目中设置启动页,这篇文章主要给大家介绍了关于Flutter Android应用启动白屏解决的相关资料,需要的朋友可以参考下
    2021-11-11
  • Android10 Binder原理概述深入解析

    Android10 Binder原理概述深入解析

    这篇文章主要为大家介绍了Android10 Binder原理概述深入解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10

最新评论