這是我在ubuntu和XP上,搭建Android應用開發環境的過程與總結。期間參考了不少部落格,我的Android應用程式跑起來了,在這裡總結下,怕以後忘了。
先說在ubuntu上搭建android應用開發環境,再在XP上搭建android應用開發環境
一、在ubuntu上搭建android應用開發環境
1.安裝JDK
系統內建有openjdk,所以當在終端中輸入java -version命令的時候,會有一些提示的,這個不要擔心,沒什麼影響,下面自己手動設定自己的jdk
(1)下載JDK
可下載最新版jdk-7-linux-i586.tar.gz,我下載的jdk-7u5-linux-i586.gz
(2)安裝
把jdk-7u5-linux-i586.gz複製到/si/java/目錄下
(3)配置環境變數
sudo gedit /etc/environment
在檔案中輸入以下三行
export JAVA_HOME=/si/java/jdk1.7.0_05
export JRE_HOME=/si/java/jdk1.7.0_05/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
sudo gedit /etc/profile
在此檔案中添加以下四行
export JAVA_HOME=/si/java/jdk1.7.0_05
export JRE_HOME=/si/java/jdk1.7.0_05/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
(4)測試
登出使用者後.終端輸入
java -version
顯示
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode)
下面寫個程式測試
在/si/test/目錄下建立檔案Hello.java,開啟,輸入以下內容
[java]
public class Hello{
public static void main(String args[]){
System.out.println("hello wrold");
}
}
public class Hello{
public static void main(String args[]){
System.out.println("hello wrold");
}
}cd /si/test/
編譯Hello.java
javac Hello.java
在/si/test/ 產生hello.class
運行 hello
java Hello
hello wrold
2.安裝 eclipse
(1)下載
我下載32bit的eclipse-SDK-4.2-linux-gtk.tar.gz
(2)安裝
只接解壓縮到/si/eclipse/就行
雙擊eclipse就可以啟動eclipse程式,啟動的時候選擇自己的workspace
下載好了之後雙擊開啟,解壓方式跟之前的jdk解壓方式一樣,不再重複
3.在eclipse安裝 adt外掛程式
sdk相當於一個軟體管理器,如果要做android開發的話,至少要有一個android版本的,此時是空的,接下來在eclipse中配置ADT外掛程式
官方提供兩種安裝方式http://developer.android.com/sdk/eclipse-adt.html#installing,第一種是線上安裝,第二種是先下載安裝包,然後用eclipse直接安裝,兩種方式結果是一樣的,在此推薦線上安裝方式
開啟eclipse--->help--->Install New Software
點擊work with後面的輸入框後面的Add
在Name後面輸入:ADT Plugin(可以隨便起名)
在Location後面輸入:https://dl-ssl.google.com/android/eclipse/
點擊OK,選擇 Developer Tools,一路 Next 就可以了,根據提示,一步一步安裝
下面是報的錯已及解決方案,這裡折騰了很久
(1)The operation cannot be completed. See the details.
Cannot complete the install because one or more required items could not be found.
Software being installed: Android Development Tools 21.0.1.v201212060256-543035 (com.android.ide.eclipse.adt.feature.group 21.0.1.v201212060256-543035)
Missing requirement: Android Development Tools 21.0.1.v201212060256-543035 (com.android.ide.eclipse.adt.feature.group 21.0.1.v201212060256-543035) requires 'org.eclipse.wst.sse.core 0.0.0' but it could not be found
解決方案
說明你沒有安裝一個叫“GEF”的外掛程式,你可以通過添加這個外掛程式來解決這個問題。
方法就和你添加Android外掛程式一樣,點擊Add按鈕,將GEF外掛程式的名字和它的地址複製進去,然後點擊next來安裝GEF外掛程式。
GEF外掛程式的地址是 http://download.eclipse.org/tools/gef/updates/releases/
Review the items to be installed.一步一步安裝,GEF外掛程式安裝完成,會提示你重啟eclipse
重新嘗試安裝Android外掛程式了,在Work with中選擇之前填入的
adt - https://dl-ssl.google.com/android/eclipse選項,然後嘗試重新執行一次操作。
終於有動靜了,跟著提示一步步操作,希望安裝成功
4.安裝SDK
(1)下載
(2)配置環境變數
為避免每次都要手動修改,在.bashrc 檔案中,添加環境變數
cd ~/
gedit .bashrc
末尾添加
export ANDROID_SDK_HOME=/si/android/android-sdk-linux/
這就完成了Android軟體開發套件安裝的第一步,之所以說這是”第一步“,是因為剛解壓的這個包,稱之為Android Developer Kit Starter,只是整個Android開發套件的其中一部分,一個完整可運行Android軟體開發套件,包含以下三個組件:
Android SDK tools
Android SDK Platform-tools
SDK Platform Android
Android SDK tools就是我們剛下載的包android-sdk_r20.0.3-linux.tar,為開發提供調試和測試載入器(詳細列表: http://developer.android.com/guide/developing/tools/index.html#tools-sdk),並提供對整個軟體工具包的更新功能。
Android SDK Platform-tools,提供平台(也就是,不同版本的Android系統)所需的軟體。
SDK Platform Android,Android平台,SDK的核心,提供開發所需的庫和代碼,分版本(比如2.2,3.1等等)。
Android SDK tools我們已經下載了,現在要使用它,去獲得Android SDK Platform-tools和SDK Platform Android。
cd /si/android/android-sdk-linux/tools/
./android
然後就會有一個視窗彈出來,你可以切換到"Installed packages",看看那些包安裝了。
剛開始預設只有Android SDK Tools
接下來的任務就是安裝Android SDK Platform-tools和SDK Platform Android,選中"Avaliable packages",可以發現裡面有很多可選包
其中Android SDK Platform-tools是一定要裝的,而SDK Platform Android有多個版本,你可以按照你自己的選擇來裝,不用全部裝了,但最少要裝一個,不然沒法運行程式,比如2.2,3.1,3.2等等,選一個適合你的來安裝。
這雷根據OK6410的android 2.1開發平台,我選中了2.1版本的SDK Platform Android作為SDK Platform Android版本.然後在extras 選了Android Support Library
下載時間有點長,根據網速而定
中間出現了,但還是安裝完成,不知道啥問題
stopping ADB server failed(code -1)
最後還必須將Android軟體開發套件的地址關聯到Eclipse,這樣Eclipse才能使用工具包裡面的代碼。
點擊功能表列的“Window -> Preferences",點擊左邊的“Android“頁面
在Location項中開啟之前下載並解壓的SDK tools檔案夾(我這裡是//si/android/android-sdk-linux),然後點擊“Apply”按鍵,這樣你的Android Platform應該就可以識別出來了。
5.建立Android工程
Android外掛程式adt安裝完了,並且Android軟體開發套件的地址也關聯到Eclipse,這樣Eclipse能使用工具包裡面的代碼.下面開始建立我們自己的Android Project
5.1建立AVD
建立AVD即添加一台虛擬機器,接下來就可以在電腦上模擬一台Android手機
(1)啟動Eclipse,點擊功能表列的“ Window -> Android Virtual Device Manager ”
快顯視窗,點擊右邊菜單的“new”按鍵
之後的選項比較多,分別的意思如下:
Name : 虛擬機器的名字,隨便就可以。eg AVDTest
Target : 目標平台,這裡選你自己裝的Android版本,我這裡是2.1版。
SD Card : 虛擬手機裡面的硬碟空間大小,可以按你的需要設定。eg 100M
Snapshot : 快照,勾選之後可以支援儲存虛擬機器的狀態,這樣就可以像真機一樣儲存設定了,不用每次都重新設定;這個選項也有助於快速啟動虛擬機器,但相應地,儲存速度會減慢。
Skin : 你的虛擬機器的螢幕大小,可以根據你的需要來設定。eg HVGA320x480
Hadrware: 你虛擬機器的硬體,可以根據你的需要來設定。
(2) 點擊OK,接著選擇 Start 啟動模擬器.點 Launch就會出現啟動畫面
5.2建立Android Project
(1)點擊功能表列的“File -> New -> project“,找到”Android Project“
接下來跟著提示next,直至完成工程建立
[java]
MainActivity.java:
package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
TextView tv = new TextView(this);
tv.setText("Hello world!");
setContentView(tv);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
MainActivity.java:
package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
TextView tv = new TextView(this);
tv.setText("Hello world!");
setContentView(tv);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
然後點菜單Run下的Run.模擬器就會運行我們剛剛建立的helloworld 程式
5.3把建立的helloworld程式放到開發板
cd /si/android/android-sdk-linux/tools/
./adb shell
bash: ./adb: 沒有那個檔案或目錄
解決方案:
cd ../platform-tools
./adb shell
# cd /data/app
# ls
ApiDemos.apk
GestureBuilder.apk
SoftKeyboard.apk
CubeLiveWallpapers.apk
com.example.helloworld.apk
# exit
change@change-laptop:/si/android/android-sdk-linux/platform-tools$ ./adb pull /data/app/com.example.helloworld.apk
304 KB/s (180283 bytes in 0.578s)
一切正常,接著將com.example.helloworld.apk放 到 android_fs/system/app 的 目 錄 下
然後重啟android系統,運行helloworld程式一切正常
至此搭建android應用開發環境結束.遺留問題安裝SDK更新時stopping ADB server failed(code -1),但是把程式放到板子運行,一切正常.
網上解決辦法,執行如下命令安裝好相應的庫檔案,重啟Eclipse即可:
sudo apt-get install ia32-libs
但是我機子裝不了
sudo apt-get install ia32-libs
[sudo] password for change:
正在讀取軟體包列表... 完成
正在分析軟體包的相依樹狀結構
正在讀取狀態資訊... 完成
E: 無法找到軟體包 ia32-libs
其時在64-bit機器上運行32-big的應用程式是,需要安裝ia32-libs庫,就沒安裝了
二、在XP上搭建android應用開發環境
其實在XP上搭建環境簡單多了,加上google把adt和eclipse整合在一起,安裝就更簡單了。只需安裝java和adt-bundle-windows-x86