1. 程式人生 > >關於repo下載android程式碼時候錯誤的處理。

關於repo下載android程式碼時候錯誤的處理。

今天在我的centos上,準備下載一個froyo版本的Android原始碼沒事學一下的時候,遇到了一個問題。問題如下:

Traceback (most recent call last):
  File "/home/android/bin/repo", line 605, in ?
    main(sys.argv[1:])
  File "/home/android/bin/repo", line 572, in main
    _Init(args)
  File "/home/android/bin/repo", line 184, in _Init
    _CheckGitVersion()
  File "/home/android/bin/repo", line 223, in _CheckGitVersion
    ver_act = tuple(map(lambda x: int(x), ver_str.split('.')[0:3]))
  File "/home/android/bin/repo", line 223, in <lambda>
    ver_act = tuple(map(lambda x: int(x), ver_str.split('.')[0:3]))
ValueError: invalid literal for int(): 5-rc3

這個錯誤主要來源於repo在執行的時候會對git的版本進行判斷。我現在的作業系統是centos是自己手動安裝的git,並且已經安裝了,我shell下git --version,顯示是:git version 1.7.5-rc,問題就出在版本號上,我的版本號上多了一個"-rc3",google些的repo就不能正確識別這個版本就會報錯。處理的方法大致有以下幾種:

1,重新安裝版本正常的git。

2.將安裝原始碼裡面的版本資訊進行修改,將後面多餘的東西刪除,重現編譯安裝。

3.完善repo的git 版本資訊的判斷函式。

4.如果你確定你已經安裝了git,那麼就將repo這個指令碼中_Init中的,_CheckGitVersion()註釋掉。用“#”去註釋,就不會報錯了。