ubuntu配置android开发环境和编译源码遇到的一些问题
---------------------------------------------環境變量設置---------------------------------------------
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時創建的。
abc@ab-Precision-T1650:~$ 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恢復后即可編譯通過。
--------------------------------------------
轉載于:https://www.cnblogs.com/qq190771752/p/4115683.html
總結
以上是生活随笔為你收集整理的ubuntu配置android开发环境和编译源码遇到的一些问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 提示You don't have per
- 下一篇: 树结构练习——排序二叉树的中序遍历(二叉