Android的學習——ubuntu下android5.1源碼的make編譯

來源:互聯網
上載者:User

標籤:

       在repo sync下載源碼後,經曆了漫長的時間,終於可以進行下一步了。

       在進行make之前還需要三個步驟。

         1> source build/envsetup.sh:載入命令
         2> lunch:選擇平台編譯選項
         3> make:執行編譯

       一、

       將envsetup.sh裡的命令載入到環境變數中,完成一些初始化。

 

       二、

       如使用32位的ubuntu系統和Android4.幾(具體不記得是第幾版,0還是01),在執行lunch命令時會出錯。當然這些錯誤可以在32位系統進行修改後,也可執行該命令,但是過程較麻煩。我之前就裝的是32位的,花費了很多時間,多少還是有些小問題,最終還是改用64位的,所以建議還是安裝64位的ubuntu系統。

 

       三、

       make -j4(根據個人電腦情況)

       這是一個漫長的過程,會出現各種錯誤的情況。個人不建議使用make -k,因為錯誤情況都會忽略,而花費了很長時間編譯後,還是不成功的。還是得重新回來找錯誤,解決它。

       錯誤一:

Traceback (most recent call last):
  File "scripts/make_css_property_names.py", line 238, in <module>
    in_generator.Maker(CSSPropertiesWriter).main(sys.argv)
  File "/root/Android_src/external/chromium_org/third_party/WebKit/Source/core/scripts/in_generator.py", line 119, in main
    writer.write_files(options.output_dir)
  File "/root/Android_src/external/chromium_org/third_party/WebKit/Source/core/scripts/in_generator.py", line 77, in write_files
    self._write_file(output_dir, generator(), file_name)
  File "scripts/make_css_property_names.py", line 233, in generate_implementation
    gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
  File "/usr/lib/python2.7/subprocess.py", line 709, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1326, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
make: *** [out/target/product/generic/obj/GYP/shared_intermediates/blink/CSSPropertyNames.cpp] 錯誤 1
make: *** 正在等待未完成的任務....

 

      解決:

        確保已安裝以下環境:

        git gnupg flex bison gperf build-essential   zip curl libc6-dev x11proto-core-dev   g++-multilib  tofrodos   python-markdown libxml2-utils xsltproc

 

      錯誤二:

         ubuntu14.10上編譯android5源碼到libwebviewchromium.so後停止

      解決:

        參考http://jileniao.net/ubunt-add-swap-to-build-libwebviewchromium.html

 

      錯誤三:

        出現: java,javac:無效的目標版本  類似情況

      解決:

         javac的環境沒設定好,或是javac沒有安裝好。

         sudo update-alternatives --config java

         sudo update-alternatives --config javac

         查看當前使用的jdk,如有問題,請重新設定,切換java或重新下載jdk,再設定以下。

         sudo update-alternatives --install /usr/bin/java java /usr/....(自己jdk所放的位置)/java 1051

         sudo update-alternatives --install /usr/bin/javac javac /usr/....(自己jdk所放的位置)/javac 1051

      

      其他錯誤,可以參考http://www.cnblogs.com/tao560532/p/3302444.html

     

Android的學習——ubuntu下android5.1源碼的make編譯

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.