因為一些工作上的原因,需要切換到Linux環境下做點開發,我選擇的Linux發行版本為ubuntu(我不建議使用fedora,我最開始就是使用的fedora,但發現並不是特別好使,有些插件沒辦法安裝,環境也搭建不起來)。在這里就先不說ubuntu的安裝(比較簡單,我采用的是U盤安裝)先記錄android開發環境的搭建。
一、安裝jdk
ubuntu系統中自帶有openjdk,所以當在終端中輸入java -version命令的時候,會有一些提示的,忽略這些信息,我們要自己手動配置自己的jdk;
首先到http://www.oracle.com/technetwork/java/javase/downloads/index.html下載jdk,下載完成之后使用系統中的歸檔管理器打開,並把文件解壓到一個文件夾下面;
二、配置環境
Step1:
# 將解壓好的jdk1.7.0_21文件夾用最高權限復制到/usr/lib/jvm目錄里
sudo cp -r ~/jdk1.7.0_21/ /usr/lib/jvm/
Step2:
# 配置環境變量
sudo gedit ~/.profile
在末尾加上:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21
然后保存關閉,使用source更新下
$ source ~/.profile
使用env命令察看JAVA_HOME的值
$ env
如果JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21,說明配置成功。
Step3:
# 將系統默認的jdk修改過來
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_21/bin/java 300
輸入sun jdk前的數字就好了
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_21/bin/javac 300
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
Step4:
然后再輸入java -version,看到如下信息,就說明改成sun的jdk了:
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) Server VM (build 23.0-b21, mixed mode)
三、驗證環境是否配置成功
在終端中輸入java -version;如果出現java version "1.7.0_51" 。。。 類似的信息,即證明jdk安裝及環境配置成功;
如果還不放心,可以寫一個文件測試一下是否真的成功了;找一個目錄新建一個Hello.java文件
public class Hello{ public static void main(String args[]){ System.out.println("Hello Ubuntu"); } }
在終端中進入存放Hello.java文件所在的目錄,輸入javac Hello.java 。如果沒有提示,表示編譯成功,再次輸入java Hello,如果輸出Hello Ubuntu表示已經肯定配置成功;
四、下載eclipse
這里我推薦直接去android官網下載對應的Linux的集成了SDK的eclipse,解壓即可使用;下載地址:http://developer.android.com/sdk/index.html;
五、第一個HelloWorld
在elipse下,新建一個Android項目,點擊Run As的時候,卻發現明明連接上了手機,卻找不到對應的設備,在這里,也需要進行一些設置;
1.在終端中輸入 lsusb
會發現結果中有如下類似記錄:
Bus 001 Device 008: ID 0bb4:0c02 High Tech Computer Corp.
2.這時輸入 sudo gedit /etc/udev/rules.d/50-android.rules
在打開的文件中增加以下文本:
SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="0bb4", MODE="0666"
3.在終端中輸入以下命令修改文件訪問權限及重啟udev服務:
sudo chmod a+rx /etc/udev/rules.d/50-android.rules
sudo /etc/init.d/udev restart
注銷當前用戶,重新進入ubuntu系統;
4.在終端中進入android sdk的platform-tools目錄,輸入如下命令(這一步很重要,必須要sudo,否則沒效果)
sudo ./adb kill-server
sudo ./adb start-server
如果出現類似下面的信息,即表示adb已經能夠正常識別到設備了;
* daemon not running. starting it now on port 5037 *
* daemon started successfully * ///devices
5.再次運行程序,正常情況下應該程序就能安裝到手機上了,如果有什么錯誤或遇到了問題,歡迎交流指正!
六、可能遇到的問題
我在配置一個開發環境的時候,把環境變量配置"好"后,第二天再次打開電腦,進入到輸入密碼界面,明明輸入的是正確的密碼,但是去閃一下又回到輸入密碼界面,但是如果隨便亂輸入密碼則又會提示密碼錯誤;在網上搜尋了一下,據說是環境變量配置的問題;
解決辦法:在輸入密碼畫面下同時按下CTRL + ALT + F1,在彈出來的命令窗口中輸入root賬戶的密碼,進入命令行模式,輸入命令:/usr/bin/sudo /usr/bin/vi /etc/profile,之后按下dd(連續按下兩次d鍵)刪除錯誤的行,然后按住shift輸入:號,然后輸入wq回車,重啟即可解決問題。
七、其它
1、在Ubuntu中,默認的firefox瀏覽器很不好用,經常就崩掉了,還好,我們可以使用chrome瀏覽器,安裝方法如下:
- 進入 Chrome Linux 版下載地址:http://www.google.com/chrome/eula.html;提供了 deb 和 rpm 兩種格式的安裝程序,都有 32位和64位版本。
- 下載完之后,在終端窗口中進入文件存儲位置,切換到root用戶,運行命令:sudo dpkg -i google-chrome-beta_current_i386.deb
- 如果報錯(缺少依賴關系)sudo apt-get -f install,安裝所信賴的插件;
2、bin文件的安裝:
在終端窗口中進入bin文件所在目錄,修改文件的權限為可執行(見2),然后執行命令:sudo ./file.bin
八、修改文件及文件夾權限
Linux下的文件操作權限和Windows其實是一樣的,也就是讀、寫、執行。這三個權限分別用一個值代替(r=4,w=2,x=1),將其中的一個或者兩個等其它組合起來,就構成了用戶對該文件的訪問權限,如可讀可執行:(rx=5+1);
在Linux下,改變文件或文件夾的權限使用chmod命令,該命令有兩種用法:
- 1 包含字母和操作符表達式的文字設定法;
- 2 包含數字的數字設定法。
1、文字設定法:
chmod [who] [+ | - | =] [mode] filename
參數:
操作對象who可是下述字母中的任一個或者它們的組合:
-
- u (user) 文件或目錄的所有者
- g (group) 與文件屬主有相同組ID的所有用戶
- o (others) 其它用戶
- a (all) 所有用戶,系統的默認值
操作符號:
-
- + 添加某個權限
- - 移除某個權限
- = 賦予給定權限並取消其它所有權限(如果有的話)
mode:
-
- 即之前提到的,r / w / x ;
2、數字設定法:
- sudo chmod 777 xxx.file (文件)
- sudo chmod -R 777 xxx.file (文件夾,文件遞歸需要加-R)
如上:777三個7分別代表u/g/o的rwx權限,需要記住的是如果是要改變文件夾及里面的所有文件的權限需要添加-R遞歸;
注:777表示的是讀、寫、執行的權限(rwx);