標籤:android blog http io ar os 使用 sp java
---------------------------------------------環境變數設定---------------------------------------------
1.設定jdk環境變數
編譯android源碼只支援jdk 1.6,所以如果需要編譯源碼必須下載jdk 1.6,不能下載最新的jdk 1.7,如果不需要編譯源碼則可以下載1.7版本的。
1.6版本jdk:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html
不要把環境變數配置在/etc/environment和/etc/profile檔案中,這樣配置的在有的ubuntu版本上會出現退出當前終端後不起作用的問題,在ubuntu12.04上我就遇到了此問題。
把環境變數配置在使用者目錄.bashrc檔案中是最好的選擇。
export JAVA_HOME=/home/abc/jdk1.6.0_45
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
然後執行source .bashrc使配置生效即可。
由於ubuntu中可能會有預設的jdk,如openjdk。假如有openjdk的話,所以,為了使預設使用的是我們安裝的jdk,還要進行如下工作。
執行:
sudo update-alternatives --install /usr/bin/java java ~/abc/jdk1.6.0_45/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac ~/abc/jdk1.6.0_45/bin/javac 300
通過這一步將我們安裝的jdk加入java選單。
然後執行:
sudo update-alternatives --config java
通過這一步選擇系統預設的jdk
---------
2.增加別名
alias b=‘cd ..‘ #返回到上一級目錄
alias bb=‘cd ../..‘
alias bbb=‘cd ../../..‘
alias g=‘gedit‘ #開啟文字編輯器
---------------------------------------------eclise相關問題---------------------------------------------
1.可以在終端順利啟動Eclipse,但是從檔案夾滑鼠雙擊,或者用起動器啟動就會出現如下的內容:
A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse.No java virtual machine was found after searching the following locations:…
解決方案:從終端進入你的eclipse目錄,然後輸入:
則命令為:ln -s /home/abc/jdk1.6.0_45/jre jre
或者
解決辦法是在終端進入你的eclipse目錄,然後輸入:
mkdir jre
cd jre
ln -s 你的JDK目錄/bin bin
2. 找不到adb
Android --- 64bit Ubuntu 系統下 搭建JDK和SDK環境後,出現adb:error =12錯誤
Failed to get the adb version: Cannot run program"/home/xxxx/android/android-sdk/platform-tools/adb": error=2,沒有那個檔案或目錄
錯誤提示:android-sdk-linux/platform-tools/adb: 沒有那個檔案或目錄。
解決方案:由於是64bit的系統,而Androidsdk只有32bit的程式,需要安裝ia32-libs,才能使用。
開啟終端:sudo apt-get install ia32-libs
3.安裝ADT(Android Development Tools).
啟動Eclipse,在導覽功能表中選擇Help->Install New Softwares->點擊Add按鈕->在彈出框Add Repository中輸入Name:Android(隨便填寫),
Location:填寫地址 https://dl-ssl.google.com/android/eclipse/。點擊ok,根據需要選擇,然後安裝。安裝完畢後,重啟Eclipse。
4.在Eclipse裡配置SDK路徑
選擇Windows->Preferences->Android,選擇Android SDK的位置。我的是解壓在D:Program Filesandroid-sdk-windows這裡的,選擇這裡就行了
---------------------------------------------編譯android源碼---------------------------------------------
編譯過程遇到的問題:
/bin/bash: bison: 未找到命令
sudo apt-get install bison
/bin/bash: xsltproc: 未找到命令
sudo apt-get install xsltproc
external/clearsilver/cgi/cgi.c:22:18: fatal error: zlib.h: 沒有那個檔案或目錄
sudo apt-get install zlib1g-dev
/bin/bash: flex: 未找到命令
sudo apt-get install flex
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55:22: fatal error: X11/Xlib.h: 沒有那個檔案或目錄
sudo apt-get install libx11-dev
/usr/bin/ld: cannot find -lncurses
sudo apt-get install libncurses5-dev
sudo apt-get install gperf
gcc: error trying to exec ‘cc1plus‘: execvp: 沒有那個檔案或目錄
sudo apt-get install build-essential
參考:http://www.cnblogs.com/skyme/archive/2011/01/19/1939606.html
/bin/bash: xmllint: 未找到命令
解決
sudo apt-get install xsltproc
sudo apt-get install libxml2-utils
javac: 目標發行版 1.5 與預設的源發行版 1.7 衝突
原因:在ubuntu軟體中心安裝eclipse導致jdk變成了預設的openjdk
~$ java -version
java version "1.7.0_21"
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-1ubuntu1)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
修改方法:卸載ubutnu軟體中心安裝的eclipse,重新下載安裝eclipse和sun jdk1.6。
sudo apt-get remove openjdk*
此命令會卸載所有依賴openjdk的軟體,包括從ubuntu軟體中心安裝的eclipse。
/usr/include/stdc-predef.h:30:26: fatal error: bits/predefs.h: No such file or directory
compilation terminated.
sudo apt-get install gcc-multilib
錯誤:
build/core/java.mk:9: *** bin: Target java module does not define any source or resource files. Stop.
解決:
刪除源碼根目錄下的bin檔案夾,這個檔案夾是匯入eclipse時建立的。
[email protected]:~$ sudo update-alternatives --config java
update-alternatives: 錯誤: no alternatives for java
http://source.android.com/source/initializing.html#configuring-usb-access
Initializing a Build Environment
在12.04,12.10,13.04版本上需要安裝以下庫
$ sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
但本人的機器上安裝上以上lib後還是編譯不過,後來發現是因為以前編譯使導致了current.txt檔案有改變,因此api介面與實際不符,所以編譯報錯找不到android內建的api。
把current.txt恢複後即可編譯通過。
--------------------------------------------
ubuntu配置android開發環境和編譯源碼遇到的一些問題