1. 程式人生 > >Android Sync 同步 原始碼問題解決方案

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

[email protected]
:~/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
[email protected]
:~/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
[email protected]
:~/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 Sync 同步 原始碼問題解決方案

 一直很忙,忙的不可開交,以前我說有時間就來寫點東西,然後最近一直很忙,連論文,加新專案,事情挺多的,android原始碼還是很久以前下載的,今天sync發現突然不行了,報錯: error.GitError: device/common rev-list ('^7d4526

Android短輪詢解決方案——CountDownTimer+Handler

receiver font 網上 adc 開始 success 方法 www 請求 轉載請註明原文地址:http://www.cnblogs.com/ygj0930/p/7657194.html 一:應用場景 在諸如自動售賣機之類的掃碼支付場景中,客戶端

一張圖看懂混合雲數據同步一站式解決方案

數據摘要: 針對不同數據庫間數據實時同步難的問題,日前,阿裏雲宣布推出混合雲數據同步一站式解決方案,便於廣大雲產品用戶實現實時數據同步的混合雲支持,更為方便的是,該功能讓本地Oracle也能實現與雲上數據庫的實時同步。 針對不同數據庫間數據實時同步難的問題,日前,阿裏雲宣布推出混合雲數據同步一站式解決方案,便

第一篇:安裝Android Studio問題及其解決方案

.com 及其 pla try onf posit blog chmod 提示 ubuntu18.04配置android studio3.2.1環境 1.JDK安裝與配置:https://www.cnblogs.com/yuanbo123/p/5819564.html(按照

Unity Android il2cpp熱更解決方案

1. 簡介 這是Unity Android il2cpp熱更解決方案的Demo(Git地址)的說明。 和現有的熱更解決方案不同的是,他不會引入多餘的語言(只是UnityScript,c#...),對Unity程式設計和編碼沒有任何限制。你可以在預置和場景裡的GameObject上新增任何的Compnent

unity SkinnedMesh 播放動畫時與MeshCollider不同步問題解決方案

unity SkinnedMesh 播放動畫時與MeshCollider不同步問題解決方案 unity播放形變動畫時,物體包圍盒與物體不同步。原因是包圍盒沒有更新,並且形變動畫對應的MeshCollider更新的話,代價太大。所以unity雖然提供了機制,但是不提倡使用。核心方法是S

Android開發:最全面、最易懂的Android螢幕適配解決方案

前言 Android的螢幕適配一直以來都在折磨著我們Android開發者,本文將結合: 給你帶來一種全新、全面而邏輯清晰的Android螢幕適配思路,只要你認真閱讀,保證你能解決Android的螢幕適配問題! 目錄 定義 使得某一元

實現離線安裝、配置Android Studio開發環境 解決方案

近期專案需要提供AS的離線開發工具安裝 ,沒錯網上的帖子很多 ,但有問題的也很多,因為越往下做 ,一個個問題接踵而至,不同的嘗試,也發現出一條路子,但還是存在一定侷限,但能將就一下,聽我娓娓道來。 1.開發環境的準備 2.相關配置   開發工具準備: A. 

4種必須知道的Android螢幕自適應解決方案

<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="height_1_80">6px</dimen><dimen name="height_2_80">12px<

Android ANT 多渠道打包解決方案

<span style="font-size:18px;"><!--Android 分渠道打包步驟--> <!--打包之前請確定--> ANDROID_HOME 環境變數 即ANDROID_SDK的安裝路徑 如:

目前Android最全面、最易懂的Android螢幕適配解決方案

前言 Android的螢幕適配一直以來都在折磨著我們Android開發者,本文將結合: 給你帶來一種全新、全面而邏輯清晰的Android螢幕適配思路,只要你認真閱讀,保證你能解決Android的螢幕適配問題! 目錄 Androi

android 架包衝突解決方案

作為一名剛學android五個月的小白,之前無論學習基礎,還是看一些培訓機構的教學專案,裡面都是用listView來展示資料。 下午心血來潮,便想學習一下recycleView,則需要匯入一些其他人的

分享Windows伺服器網站檔案同步備份解決方案之cwRsyn進行檔案同步

本文和大家分享Windows伺服器網站檔案同步備份解決方案,來自部落格園dudu的文章。對於一個網站來說,使用者上傳檔案的同步備份是必需要解決的問題。對於有著巨量上傳檔案的大型網站,一般採用分散式儲存系統。而對於上傳檔案量不是很大的網站,只要在另外一臺伺服器上儲存上傳檔案的同

android.os.NetworkOnMainThreadException的解決方案

首先,確定AndroidManifest.xml中 <uses-permission android:name="android.permission.INTERNET" /> 其次,這次異常的丟擲是因為有一個網路操作試圖佔用主執行緒,我們建立一個新執

Android的Crash崩潰解決方案-Bugly的使用

我們在開發過程中,經常會遇到程式閃退,但是Eclipse的Consle和Logcat又沒有錯誤提示,或者是隻有用的時間長了才會出現的偶然崩潰,這種就很難修復bug,也嚴重影響使用者體驗,使用者分分鐘解

Android Base64的完美解決方案

public class Base64Encoder { private static final char last2byte = (char) Integer .parseInt("00000011", 2); pri

android滑動衝突的解決方案

一、前言 Android 中解決滑動的方案有2種:外部攔截法 和內部攔截法。 滑動衝突也存在2種場景: 橫豎滑動衝突、同向滑動衝突。 所以我就寫了4個例子來學習如何解決滑動衝突的,這四個例子分別為: 外部攔截法解決橫豎衝突、外部攔截法解決同向衝突、內部

Android 螢幕適配解決方案

螢幕適配問題的本質 使得“佈局”、“佈局元件”、“圖片資源”、“使用者介面流程”匹配不同的螢幕尺寸 使得“圖片資源”匹配不同的螢幕密度 佈局匹配 本質1:使得佈局元素自適應螢幕尺寸 佈局的子控制元件之間使用相對位置的方式排列,因為Relat

Live555用做RTSPClient時,利用RTP時間戳進行音視訊同步解決方案(必須有RTCP支援才可行)

http://www.mworkbox.com/wp/work/551.html 先看來自Live555官網的2個常見問題: 問題1:Why do most RTP sessions use separate streams for audio and video?

android軟鍵盤問題解決方案(軟鍵盤佔據全屏,軟鍵盤排擠頁面佈局)

1.在使用EditText進行文字輸入時,若不進行特殊的設定,使用Android自帶的軟鍵盤,該軟鍵盤會佔用整個介面,那麼,如何讓鍵盤只佔用螢幕的一部分呢?  答:android:imeOptions="flagNoExtractUi"  //使軟鍵盤不全屏顯示,只佔用一部