`

Android Sync 同步 源码问题解决方案

 
阅读更多

android源码还是很久以前下载的,今天sync发现突然不行了,报错: error.GitError: device/common rev-list ('^7d4526582f88808a3194e1a3b304abb369d2745c', 'HEAD', '--'): fatal: bad object 7d4526582f88808a3194e1a3b304abb369d2745c

result = cmd.Execute(copts, cargs)
  File "/home/thinkinbunny/mydroid/.repo/repo/subcmds/sync.py", line 466, in Execute
    project.Sync_LocalHalf(syncbuf)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1007, in Sync_LocalHalf
    lost = self._revlist(not_rev(revid), HEAD)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1785, in _revlist
    return self.work_git.rev_list(*a, **kw)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1930, in rev_list
    p.stderr))
error.GitError: platform/development rev-list ('^34ccdaa87b25c2456a76aafcf09a66b2fab236ff', 'HEAD', '--'): fatal: bad object 34ccdaa87b25c2456a76aafcf09a66b2fab236ff

thinkinbunny@tib-N55SF:~/mydroid$ ./repo sync
Fetching projects: 100% (247/247), done.  
Syncing work tree:   4% (10/247)  Traceback (most recent call last):
  File "/home/thinkinbunny/mydroid/.repo/repo/main.py", line 385, in <module>
    _Main(sys.argv[1:])
  File "/home/thinkinbunny/mydroid/.repo/repo/main.py", line 365, in _Main
    result = repo._Run(argv) or 0
  File "/home/thinkinbunny/mydroid/.repo/repo/main.py", line 137, in _Run
    result = cmd.Execute(copts, cargs)
  File "/home/thinkinbunny/mydroid/.repo/repo/subcmds/sync.py", line 466, in Execute
    project.Sync_LocalHalf(syncbuf)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1007, in Sync_LocalHalf
    lost = self._revlist(not_rev(revid), HEAD)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1785, in _revlist
    return self.work_git.rev_list(*a, **kw)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1930, in rev_list
    p.stderr))
error.GitError: device/common rev-list ('^7d4526582f88808a3194e1a3b304abb369d2745c', 'HEAD', '--'): fatal: bad object 7d4526582f88808a3194e1a3b304abb369d2745c

thinkinbunny@tib-N55SF:~/mydroid$ ./repo sync
Fetching projects: 100% (247/247), done.  
Syncing work tree:  10% (25/247)  Traceback (most recent call last):
  File "/home/thinkinbunny/mydroid/.repo/repo/main.py", line 385, in <module>
    _Main(sys.argv[1:])
  File "/home/thinkinbunny/mydroid/.repo/repo/main.py", line 365, in _Main
    result = repo._Run(argv) or 0
  File "/home/thinkinbunny/mydroid/.repo/repo/main.py", line 137, in _Run
    result = cmd.Execute(copts, cargs)
  File "/home/thinkinbunny/mydroid/.repo/repo/subcmds/sync.py", line 466, in Execute
    project.Sync_LocalHalf(syncbuf)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1007, in Sync_LocalHalf
    lost = self._revlist(not_rev(revid), HEAD)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1785, in _revlist
    return self.work_git.rev_list(*a, **kw)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1930, in rev_list
    p.stderr))
error.GitError: platform/docs/source.android.com rev-list ('^bce007aa754159a3c4b3894c581c53940ebc2e08', 'HEAD', '--'): fatal: bad object bce007aa754159a3c4b3894c581c53940ebc2e08

thinkinbunny@tib-N55SF:~/mydroid$ ./repo sync
Fetching projects: 100% (247/247), done.  
Traceback (most recent call last):
  File "/home/thinkinbunny/mydroid/.repo/repo/main.py", line 385, in <module>
    _Main(sys.argv[1:])
  File "/home/thinkinbunny/mydroid/.repo/repo/main.py", line 365, in _Main
    result = repo._Run(argv) or 0
  File "/home/thinkinbunny/mydroid/.repo/repo/main.py", line 137, in _Run
    result = cmd.Execute(copts, cargs)
  File "/home/thinkinbunny/mydroid/.repo/repo/subcmds/sync.py", line 466, in Execute
    project.Sync_LocalHalf(syncbuf)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1007, in Sync_LocalHalf
    lost = self._revlist(not_rev(revid), HEAD)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1785, in _revlist
    return self.work_git.rev_list(*a, **kw)
  File "/home/thinkinbunny/mydroid/.repo/repo/project.py", line 1930, in rev_list
    p.stderr))
error.GitError: platform/external/bluetooth/bluez rev-list ('^5477d33e187d66961453399c53093bd18297013e', 'HEAD', '--'): fatal: bad object 5477d33e187d66961453399c53093bd18297013e

 

多次尝试无果,google之,发现google group上有这个问题,很多人问,不过都是不了了之,以前吧,百度过这个问题,在这个神奇的过度,人人都学会了CC和CV,然后就是,说是删 除.repo目录,总之有点扯淡,删除了repo跟重新下载有什么区别呢?扯淡啊。可恶的bug。

 新建了目录重新下载,最近狗日的宽带通吃屎,速度老慢。我可不想在假期下载一天源码。

 

 

 折腾了一个上午,发现了解决方案。其实很简单,android源码实际上还是用git下载的。至于repo是什么东东,自己查呗,不浪费资源了。

其本来有图,无奈windows发不了图。

我就说说基本解决方法:

  除了repo .repo其余的都删除,cts之类的什么删除就行了,不需要心疼,前提是你的网络通,至于出现bad object,原因不晓得,感觉是东西太老的,无法替换掉,删除了这些,sync会重新冲repo目录拷贝解析出来。如果删除了repo,后果就是你要重 新下载 了。应该很长时间的。至于repo下面的东西没什么影响,但是不要删除了,不然更新就蛋疼了

  最近遇到了一个大麻烦,发现以上的办法不管用了,最近换了房子,没网,要答辩了,把本子带公司,打算收拾下,顺便更新代码出错了,不记录了,没法重现了。

提供一个终极方案:

  比如原来捏到源码目录是mydroid,现在新建一个droid

 

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

 

 repo init -u https://android.googlesource.com/platform/manifest

稍等,这个目录下面会有一个隐藏目录 repo,把这个目录全部复制mydroid覆盖就行,然后droid就没用了,然后再更新,这样是最省事的,网速牛逼的非要把repo删除也没办法,对于ip的并发google做了限制的。不能下载的

repo init -u https://android.googlesource.com/a/platform/manifest

只能这样下载了http://source.android.com/source/downloading.html 仔细阅读这个就好了。至于repo的各种问题可以说是bug吧。

同步出错就是某些文件校验失败,最简单的方法就是新建一个目录初始化文件覆盖旧的,语文不及格,表的的不是很明白,将就看吧

分享到:
评论

相关推荐

    android 9.0 源码下载(28 r6)

    提供的简书文章(https://www.jianshu.com/p/a60d8024c331)可能会进一步解释下载过程中的细节,包括遇到的问题和解决方案,以及可能的优化技巧。 下载和编译Android源码是一项复杂的任务,需要耐心和一定的技术...

    最新android源码下载方法

    #### 五、同步源码 完成以上步骤后,可以使用`repo sync`命令同步Android源码到本地目录: ```bash repo sync ``` 在这个过程中,可能需要输入Google账户的凭据。一旦输入完毕,同步过程就会自动继续进行。根据...

    Android源码下载出现的问题

    本篇文章将聚焦于“Android源码下载出现问题”这一主题,探讨在尝试下载Android源码时可能遇到的常见问题及其解决方案。 首先,下载Android源码主要依赖于Google的repo工具,它是一个版本控制系统,用于管理和同步...

    Android source sync问题汇总(since 2012)

    本文将针对"Android source sync问题汇总(since 2012)"这一主题进行详细讲解,旨在帮助开发者解决在同步源码过程中遇到的各种难题。 首先,我们来看一下`repo`工具,它是Google为管理Android源码开发的一个版本控制...

    安卓Android源码——SampleSyncAdapter同步账号管理源码.zip

    在源码中,你可以看到如何实现这些组件,并将它们集成在一起,形成一个完整的同步解决方案。源码说明.txt文件可能详细解释了每个类和方法的作用,以及如何编译和运行示例项目。 通过分析和理解SampleSyncAdapter,...

    安卓Android源码——源码下载工具.zip

    使用repo之前,开发者需要先安装Git,然后通过命令行运行repo init和repo sync命令来初始化和同步源码。 下载步骤通常包括以下几步: 1. 安装Git:确保计算机上已安装最新版本的Git。 2. 获取repo:使用curl命令从...

    android4.0 日历源码

    在Android 4.0(Ice Cream Sandwich)系统中,日历功能是用户日常管理时间、安排事件的重要组件。深入理解其源码可以帮助开发者更高效地定制日历...同时,对源码的熟悉也有助于解决系统级别的问题和进行定制化开发。

    Android源码——SampleSyncAdapter同步账号管理源码.zip

    通过学习和分析SampleSyncAdapter的源码,开发者可以理解Android数据同步的核心原理,并能为自己的应用构建定制化的同步解决方案。这个示例代码是学习Android同步机制的宝贵资源,帮助开发者掌握如何与系统账户框架...

    完整的 ubuntu android 源码环境搭建

    #### 五、编译过程中出现的问题及解决方案 1. **64位机编译问题** 在 64 位机器上编译 Android 源码可能会遇到以下问题: - 错误1: `/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or ...

    Android 快捷查询源码.zip

    初始化,并使用`repo sync`同步源码。 在源码查询过程中,掌握以下几点能提高效率: 1. **使用IDE集成**:许多IDE如Android Studio提供了查看源码的功能。通过设置JDK路径和Android SDK路径,可以在遇到API调用时...

    windows下android 源码下载方法

    - 初始化并同步源码: ``` mkdir aosp && cd aosp repo init -u https://github.com/AOSP-Mirror/platform_manifest.git -b your-desired-branch repo sync ``` - 这里`your-desired-branch`指的是你想要下载...

    解决公用IP下载Android源码时遇到的问题

    - 完成以上步骤后,运行`repo sync`命令开始同步源码。 #### 技术细节解释 - **为何需要Gmail账户认证?** - Android源码服务器为了限制对同一IP地址的访问量,采用了基于账户的访问控制机制。通过Gmail账户登录...

    Android4.2 Calendar 日历模块源码

    Android 4.2的Calendar模块与系统的Sync Adapter框架集成,定期与远程服务器(如Google日历服务器)同步数据,确保本地和云端数据的一致性。 7. **权限控制**: 为了保护用户隐私,Android系统对日历数据的访问...

    android 源码地址

    3. **同步源码**:执行`repo sync`命令开始下载源码,由于Android源码量庞大,这个过程可能需要较长时间。 4. **构建系统**:下载完成后,可以使用`lunch`和`make`命令选择目标设备并构建系统。这一步骤需要较大的...

    Android程序设计经典教程(左军)部分源码.zip

    根据提示,可能需要点击右上角的"Apply"或"Sync Now"按钮来同步项目,使Gradle构建系统理解项目的依赖和设置。 3. 同步完成后,可能会发现部分代码不兼容或者需要更新。此时,根据描述中的提示,需要酌情修改`build....

    安卓4.0源码编译问题

    3. **查阅官方文档**:Android官方文档提供了详尽的指南和解决方案,包括如何处理源码同步中的常见问题。建议仔细阅读相关章节,以便获取更多有用的信息和支持。 4. **寻求社区帮助**:如果以上方法仍无法解决问题...

    android 源码的下载和编译(ubuntu)

    6. **同步源码:** - 运行 `repo sync` 同步所有源码至本地。 7. **修改 Manifest 文件:** - 查找并修改 `.repo/manifest.xml` 文件中的 `fetch` 地址,将其从 `git://Android.git.kernel.org/` 更改为 `git://...

    android源码开发实战15.05.zip

    在Android源码开发实战15.05的资料中,我们可以深入探讨Android系统的内部运作机制,以及...通过学习这些内容,开发者不仅可以提升自身的技术能力,还能更好地解决实际问题,创造出更具创新性的应用和系统解决方案。

Global site tag (gtag.js) - Google Analytics