首頁 > 軟體

Ubuntu 16.04下iTop4412環境搭建+Android4.0.3編譯

2020-06-16 17:40:42

系統:Ubuntu16.04.02

 

安裝庫檔案和JDK

使用cd 命令,進入解壓出來的“Android_JDK” -->“jdk6”資料夾,執行指令碼檔案

“install-sun-java6.sh”。

進入解壓出來的資料夾“Android_JDK”中執行指令碼“install-devel-packages.sh”,安

裝庫檔案。在Ubuntu 命令列中,執行命令“./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的值拒取決於你的系統核心,比如的我使用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.com/ubuntu trusty main universe

發現新增源後執行./install-devel-packages.sh不會報任何錯誤。

降低 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編譯:

核心編譯出錯make zImage

解決辦法:

其實,提示的錯誤資訊已經明確告訴你了,你應該省略defined().

這裡,我們開啟 kernel/timeconst.pl

@val = @{$canned_values{$hz}};

if (!defined(@val)) {

@val = compute_values($hz);

}

output($hz, @val);

將if (!defined(@val)) 改為if (!@val),再次編譯就可以通過了。

查了一下更新,發現其中有一項是perl版本升級到了 v5.22.1,然後查了perl官方文件,發現官網因為一個bug,該版本將defined(@array)去掉了。可以直接使用陣列判斷非空。

Android4.0.3編譯:

解決辦法:

1.解除安裝make 4.1

apt-get install make

2.下載安裝make 3.81

http://ftp.gnu.org/gnu/make/

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個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/

開始編譯原始碼時間:2016年5月19日07:46:23

完成編譯原始碼時間:2016年5月19日15:18:52(包括處理問題等其他事情)

出錯1:

解決方法是安裝perl的switch庫:(apt-get install libswitch-perl)

出錯2:

解決方法:

在dalvik/vm/native/dalvik_system_Zygote.cpp中間增加一個標頭檔案定義#include <sys/resource.h>

#include "Dalvik.h"

#include "native/InternalNativePriv.h"

#include <sys/resource.h>

出錯3:

問題是記憶體不足。我用的是2G執行記憶體,加大到3G繼續。

出錯4:

解決方法:此問題是因為編譯android4.0需要4GB的RAM或SWAP空間,而ubuntu預設的1GB的,所以,增加swap空間即可。

分配給虛擬機器4G記憶體RAM,並且我在這裡強烈建議,虛擬機器的初始硬碟空間最好給60G以上

如果您的電腦記憶體實在是太小的話,可以使用SWAP命令去實現虛擬記憶體,實現的方法如下:

1.建立一個swap檔案(大約需要10分鐘)

sudo dd if=/dev/zero of=/boot/swapfile bs=1024 count=4194304

2.格式化檔案,使其成為swap(交換裝置)

sudo mkswap -v1 /boot/swapfile

3.將swap加入到現有系統中

sudo swapon /boot/swapfile

4.執行free命令

free

5.做永久性變更

sudo vi /etc/fstab

使用vi編輯器,開啟fstab檔案之後,在檔案的末尾加上如下一行

/boot/swapfile swap swap defaults 1 1

出錯5:

解決方案是:

1. 將 iTop4412_uboot_scp_20141224.tar

iTop4412_Kernel_3.0_20150403.tar

iTop4412_ICS_20150413.tar

  解壓出來的三個資料夾,放在同一個目錄下

2. 將 uboot/tools/目錄裡面的 mkimage.c 和 mkimage.h 複製到 /usr/bin/ 目錄下(或者在.bashrc檔案中新增PATH路徑)

3. 執行apt-get install u-boot-tools 命令

成功!

 


IT145.com E-mail:sddin#qq.com