一.進入Ubuntu系統後設定,以及開發android環境的搭建
1.新裝系統,應先對軟體源進行更新。這樣,當我們用到某些軟體時,可以直接tab鍵補全想要安裝的軟體包名字,然後安裝。
sudo apt-get update
2.安裝一些開發android必要的軟體
sudo apt-get install gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-4.1-multilib g++-4.1-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
部分軟體功能:
GnuPG(GNU Privacy Guard或GPG)是一個以GNU通用公用許可證釋出的開放源碼用於加密或簽名的軟體
flex和bison都是詞法分析器產生器,他們常常一起配合使用,使用它們可以產生解譯器,編譯器,協議實現等多種程式。
zip是一種檔案壓縮格式,這個軟體一般是用於壓縮出zip格式的檔案。
gcc和g++,linux下的c和c++編譯器。
其餘的一些都是一些必要的庫。
3.使/bin/sh只想bash
一般裝完系統,預設的sh是指向dash的,dash也是shell指令碼的一種,但是已經過時,現在基本所有的shell指令碼都用bash解析器,所以我們將sh只想bash
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh
ls /bin/sh -l即可查看到sh已經指向bash了
4.改變我們的gcc和g++版本,因為android環境需要特定的gcc和g++編譯器。
cd /usr/bin/
ls -la | grep gcc
sudo ln -s x86_64-linux-gnu-gcc-4.1 x86_64-linux-gnu-gcc
sudo rm gcc
sudo ln -s gcc-4.1 gcc
ls -la | grep g++
sudo rm -rf ./g++
sudo rm -rf x86_64-linux-gnu-g++
sudo ln -s x86_64-linux-gnu-g++-4.1 x86_64-linux-gnu-g++
sudo ln -s g++-4.1 ./g++
gcc --version
g++ --version 即可查看gcc和g++版本已經是我們需要的版本4.1.3了。
5.交叉編譯器arm GCC和JDK1.5的安裝
因為我們要運行android程式的板子是採用arm體繫結構的,處理器是arm的,所以我們需要arm GCC。
而JDK 是整個Java的核心,包括了Java運行環境,Java工具和Java基礎的類庫。JAVA又是Android系統上層主要的程式設計語言,所以很重要。
sudo tar xzvf prebuilt-0f1763c.tar.gz -C /opt
sudo mv /opt/prebuilt-0f1763c/ /opt/arm-eabi-4.4.0/
sudo mv jdk-1_5_0_22-linux-amd64.bin /opt/
cd /opt
sudo chmod a+x jdk-1_5_0_22-linux-amd64.bin
sudo ./jdk-1_5_0_22-linux-amd64.bin
6.安裝Wine1.2
wine是一款優秀的Linu系統平台下的模擬器軟體,用來將Windows系統下的軟體在Linux系統下穩定運行,可以運行許多大型Windows系統下的軟體。
sudo apt-get install wine1.2
7.建立android編譯環境配置指令碼
sudo vim /etc/android.conf
將下面語句複製進android.conf
#android profile
JAVA_HOME=/opt/jdk1.5.0_22"
export JAVA_HOME
ANDROID_JAVA_HOME=/opt/jdk1.5.0_22
export ANDROID_JAVA_HOME
PATH=/opt/arm-eabi-4.4.0/bin:/opt/jdk1.5.0_22/bin:/opt/android_sdk_2.1/tools:/opt/wine-1.1.33/bin:$PATH
export PATH
當我們編譯android軟體時,需要先執行
source /etc/android.conf
以上所有的工作完成以後,我們開發android的環境就搭建完成了。
PS:關於android環境的搭建,我還寫了個shell指令碼將所有的操作整合在指令碼中,並測試回合成功。我們只需./執行該指令碼即可完成所有工作,很方便。o(∩_∩)o希望對大家有協助。
個人覺得:我們常常做一些項目時,可以將其中一些繁瑣易失誤操作的執行過程,用一個指令碼來描述,只需解析該指令碼,即可完成我們之前那些繁瑣的步驟,方便好用,節省時間。就比如說,我們的核心編譯時間,需要有Makefile來描述其編譯過程一樣,Makefile,shell等指令碼的存在就是為了簡化繁瑣操作,提高項目執行效率的。
二.Shell 指令碼如下,你只需複製指令碼內容,到你建立的任意空檔案如android-build.sh,執行chmod +x android-build.sh,然後./android-build.sh即可自動安裝。注意,首先需將您搭建android環境所需的檔案jdk-1_5_0_22-linux-amd64.bin和prebuilt-0f1763c.tar.gz放到ubuntu的$HOME目錄(就是我們剛開啟Terminal預設的目前的目錄)下您建立的子目錄即可,這裡我建立的是android_build目錄。
#!/bin/sh
#################################################
# The program is to build android's environment #
#################################################
############################
# Version 1.0 by jian.kong #
############################
#####1.install the required software######
sudo apt-get install gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-4.1-multilib g++-4.1-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
#####2.make shell point to bash######
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh
#####3.change the gcc from version 4.4.1 to version 4.1.3#########
cd /usr/bin/
ls -la | grep gcc
sudo ln -s x86_64-linux-gnu-gcc-4.1 x86_64-linux-gnu-gcc
sudo rm gcc
sudo ln -s gcc-4.1 gcc
ls -la | grep g++
sudo rm -rf ./g++
sudo rm -rf x86_64-linux-gnu-g++
sudo ln -s x86_64-linux-gnu-g++-4.1 x86_64-linux-gnu-g++
sudo ln -s g++-4.1 ./g++
#check the version of gcc and g++
gcc --version
g++ --version
cd ~/android_build
#####4.Install arm GCC and JDK1.5##########
sudo tar xzvf prebuilt-0f1763c.tar.gz -C /opt
sudo mv /opt/prebuilt-0f1763c/ /opt/arm-eabi-4.4.0/
sudo mv jdk-1_5_0_22-linux-amd64.bin /opt/
cd /opt
sudo chmod a+x jdk-1_5_0_22-linux-amd64.bin
sudo ./jdk-1_5_0_22-linux-amd64.bin
#####5.install Wine1.2#####
sudo apt-get install wine1.2
#####6.Create android build environment profile ########
echo "#android profile" > android.conf
echo >> android.conf
echo "JAVA_HOME=/opt/jdk1.5.0_22" >> android.conf
echo "export JAVA_HOME" >> android.conf
echo >> android.conf
echo "ANDROID_JAVA_HOME=/opt/jdk1.5.0_22" >> android.conf
echo "export ANDROID_JAVA_HOME" >> android.conf
echo >> android.conf
echo "PATH=/opt/arm-eabi-4.4.0/bin:/opt/jdk1.5.0_22/bin:/opt/android_sdk_2.1/tools:/opt/wine-1.1.33/bin:\$PATH" >> android.conf
echo "export PATH" >> android.conf
sudo mv android.conf /etc/
source /etc/android.conf
echo "#########################################################"
echo "# Oh, the android's environment has been build! ~o^_^o~ #"
echo "#########################################################"