近期編譯android的教訓

OS: ubuntu-1110 - 32 bit             android :2.3.7 Gingerbread


上網搜索教程,加上官網的說明,基本按照默認編譯下來,略有小問題,谷歌度娘一下,都解決了。編譯完畢,問題不是很大。

接下來,問題來了,使用命令emulator的時候,是啓動了一個模擬器,沒錯,但是左邊那個框一直是黑屏狀態,連開機的android的圖標都沒有。後來究其原因,發現了是在  lunch full-eng的這個默認情況下,emulator=false, 行,再次編譯,lunch  命令,出來菜單,選擇3(emulator),這下就開始了Target=emulator的編譯過程。


之後,編譯的過程中就有不斷的報錯。在網上查詢了這些錯誤,綜合分析了一下,大多數錯誤都是因爲:2.3版本的代碼是去年release的,而我用的這個linux系統ubuntu1110中的gcc4.6編譯器的版本比較新,對於很多原來報warning的內容,現在很多都報error。

       對於這個情況,我嘗試過的解決辦法有:1.直接修改報錯的源碼;2.找到報錯模塊,修改編譯的那個模塊的makefile;3.安裝較老版本的gcc。前面兩種方法我都覺得不太合適,因爲那樣會改動官方原有的代碼,可能會造成其他的未知的錯誤,工程量也可能會比較大。 然後決定用安裝較老版本的gcc這個方法。

       linux自帶的gcc4.6不行,我就裝了個gcc4.5,編譯後來還是報錯,網上搜索到的解決方案說是用gcc4.4,我就又裝了4.4去編譯,然後仍然有不斷報錯,搜索到的解決方案仍然是降低gcc版本。在我安裝gcc4.3的時候,出現了依賴包的版本過高,安裝失敗等,嘗試徹底刪除gcc4.6及其依賴包的時候也出現某些依賴包無法刪除之類的失敗。
      
      目前是卡在這兒了,自己編譯低版本gcc的話好像也會花掉不少時間。對於gcc我瞭解不是很夠。
      我目前想到的辦法有兩個方向:1.重新安裝較老版本的linux,會自帶低版本的gcc,將源代碼copy過去就開始嘗試編譯。2.查清楚低版本gcc安裝失敗的原因,繼續嘗試。
重新安裝ubuntu1004再試試好了……加油吧!

如果有人看到此貼,對我的這個思路有什麼建議,請留言或者email我。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章