一直很忙,忙的不可开交,以前我说有时间就来写点东西,然后最近一直很忙,连论文,加新项目,事情挺多的,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 34ccdaa87b25c2456a76aafcf09a66b2fab236ffthinkinbunny@tib-N55SF:~/mydroid$ ./repo syncFetching 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     _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 7d4526582f88808a3194e1a3b304abb369d2745cthinkinbunny@tib-N55SF:~/mydroid$ ./repo syncFetching 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     _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 bce007aa754159a3c4b3894c581c53940ebc2e08thinkinbunny@tib-N55SF:~/mydroid$ ./repo syncFetching projects: 100% (247/247), done.  Traceback (most recent call last):  File "/home/thinkinbunny/mydroid/.repo/repo/main.py", line 385, in     _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吧。

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



更多相关文章

  1. mac android ndk第一步
  2. Android(安卓)SwipeMenuListView策滑实现各种删除和打开功能
  3. [原创] Failed to resolve: com.android.support.design:25.4.0
  4. Android中的Handler的post方法详解
  5. Android实现文件目录的选择并保存到SharedPreferences中(适配6.0
  6. Develop--Training(五)Getting Started--Saving Data
  7. android学习视频分享
  8. CoderPig’s Android(安卓)Study Note——目录
  9. App源码分享大赛精彩代码日报

随机推荐

  1. ROS机器人项目开发11例-ROS Robotics Pro
  2. Android媒体开发之音乐播放器
  3. Android点击EditText以外区域,键盘消失
  4. Android——Toast.makeText()
  5. Android(安卓)NDK生成共享库和静态库
  6. Android(安卓)AsyncTask基础知识整理
  7. android中的launcher介绍
  8. Android(安卓)录制mp3使用mp3lame 库
  9. android客户端访问服务端tomcat
  10. ToolBar随ScrollView的滚动改变透明度