轉(zhuǎn): https://www./Linux/2016-05/131670.htm 系統(tǒng):Ubuntu16.04.02
安裝庫文件和JDK 使用cd 命令,,進(jìn)入解壓出來的“Android_JDK” -->“jdk6”文件夾,運(yùn)行腳本文件 “install-sun-java6.sh”,。 進(jìn)入解壓出來的文件夾“Android_JDK”中運(yùn)行腳本“install-devel-packages.sh”,,安 裝庫文件。在Ubuntu 命令行中,,執(zhí)行命令“./install-devel-packages.sh”,。 解決:先刪掉有問題的,最后安裝它,。 apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 g++-multilib tofrodos lib32ncurses5-dev python-markdown libxml2-utils xsltproc zlib1g-dev:i386 解決libgl1-mesa-glx-lts-quantal:i386:apt-get install libgl1-mesa-glx-lts-<release>:i386(其中release的值拒取決于你的系統(tǒng)內(nèi)核,,比如的我使用16.04.2安裝的ubuntu則release為wily,具體替換為什么值請參考:release) 解決libgl1-mesa-dev-lts-quantal:apt-get install libgl1-mesa-dev-lts-wily 解決mingw32:deb http://cz.archive./ubuntu trusty main universe 發(fā)現(xiàn)添加源后執(zhí)行./install-devel-packages.sh不會報(bào)任何錯(cuò)誤,。 降低 GCC 版本 1.apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib 2.update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 100 3.update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50 4.update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100 5.update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 6.update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.4 100 7.update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-5 50 8.gcc -v Uboot編譯: 內(nèi)核編譯出錯(cuò)make zImage 解決辦法: 其實(shí),,提示的錯(cuò)誤信息已經(jīng)明確告訴你了,你應(yīng)該省略defined(). 這里,,我們打開 kernel/timeconst.pl @val = @{$canned_values{$hz}}; if (!defined(@val)) { @val = compute_values($hz); } output($hz, @val); 將if (!defined(@val)) 改為if (!@val),,再次編譯就可以通過了。 查了一下更新,,發(fā)現(xiàn)其中有一項(xiàng)是perl版本升級到了 v5.22.1,,然后查了perl官方文檔,,發(fā)現(xiàn)官網(wǎng)因?yàn)橐粋€(gè)bug,該版本將defined(@array)去掉了,??梢灾苯邮褂脭?shù)組判斷非空。 Android4.0.3編譯: 解決辦法: 1.卸載make 4.1 apt-get install make 2.下載安裝make 3.81 root@love-xin:/home/hou/下載# tar -xvzf make-3.81.tar.gz root@love-xin:/home/hou/下載# cd make-3.81 root@love-xin:/home/hou/下載/make-3.81# ./configure --prefix=/home/hou(指定目錄,,要不然安裝完后就是在usr/local/bin/make ,,這樣就是在/usr/bin/make 存在2個(gè)make) root@love-xin:/home/hou/下載/make-3.81# sh build.sh root@love-xin:/home/hou/下載/make-3.81# ./make install root@love-xin:/home/hou/下載/make-3.81# cp /home/hou/bin/make /usr/bin/ 開始編譯源碼時(shí)間:2016年5月19日07:46:23 完成編譯源碼時(shí)間:2016年5月19日15:18:52(包括處理問題等其他事情) 出錯(cuò)1: 解決方法是安裝perl的switch庫:(apt-get install libswitch-perl) 出錯(cuò)2: 解決方法: 在dalvik/vm/native/dalvik_system_Zygote.cpp中間增加一個(gè)頭文件定義#include <sys/resource.h> #include "Dalvik.h" #include "native/InternalNativePriv.h" #include <sys/resource.h> 出錯(cuò)3: 問題是內(nèi)存不足。我用的是2G運(yùn)行內(nèi)存,,加大到3G繼續(xù),。 出錯(cuò)4: 解決方法:此問題是因?yàn)榫幾gandroid4.0需要4GB的RAM或SWAP空間,而ubuntu默認(rèn)的1GB的,,所以,,增加swap空間即可。 分配給虛擬機(jī)4G內(nèi)存RAM,,并且我在這里強(qiáng)烈建議,,虛擬機(jī)的初始硬盤空間最好給60G以上 如果您的電腦內(nèi)存實(shí)在是太小的話,可以使用SWAP命令去實(shí)現(xiàn)虛擬內(nèi)存,,實(shí)現(xiàn)的方法如下: 1.創(chuàng)建一個(gè)swap文件(大約需要10分鐘) sudo dd if=/dev/zero of=/boot/swapfile bs=1024 count=4194304 2.格式化文件,,使其成為swap(交換設(shè)備) sudo mkswap -v1 /boot/swapfile 3.將swap加入到現(xiàn)有系統(tǒng)中 sudo swapon /boot/swapfile 4.執(zhí)行free命令 free 5.做永久性變更 sudo vi /etc/fstab 使用vi編輯器,打開fstab文件之后,,在文件的末尾加上如下一行 /boot/swapfile swap swap defaults 1 1 出錯(cuò)5: 解決方案是: 1. 將 iTop4412_uboot_scp_20141224.tar iTop4412_Kernel_3.0_20150403.tar iTop4412_ICS_20150413.tar 解壓出來的三個(gè)文件夾,,放在同一個(gè)目錄下 2. 將 uboot/tools/目錄里面的 mkimage.c 和 mkimage.h 復(fù)制到 /usr/bin/ 目錄下(或者在.bashrc文件中添加PATH路徑) 3. 執(zhí)行apt-get install u-boot-tools 命令 成功!
更多Ubuntu相關(guān)信息見Ubuntu 專題頁面 http://www./topicnews.aspx?tid=2 更多Android相關(guān)信息見Android 專題頁面 http://www./topicnews.aspx?tid=11 本文永久更新鏈接地址:http://www./Linux/2016-05/131670.htm |
|