標籤:
在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編譯