2012年4月3日 星期二

[Linux] ubuntu 11.04(32 bit)建立android APP開發環境

環境:
OS: vmware下掛載ubuntu 11.04(32 bit)
======================================================================
Step 1: 確認環境
1.更新ubuntu
[nash@.....]# sudo apt-get update
[nash@.....]# sudo apt-get upgrade
2.確認環境中是否已安裝sun java,如沒有請往下繼續做
[nash@.....]# java -version
java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing)
3.檢查gcc版本,是否為gcc4.4,如果大於or小於gcc4.4請安裝gcc4.4,編譯android source code用可跳過
[nash@.....]# gcc -v
.........
gcc version 4.4 (Ubuntu/Linaro 4.4-8ubuntu4) 
======================================================================
Step 2: 下載以下套件到linux環境中:
一: SUN_JDK_6 -> jdk-6u25-linux-i586.bin
二: SDK ->android-sdk_r17-linux.tgz
三: ECLIPSE ->eclipse-java-indigo-SR2-linux-gtk.tar.gz
四: ADT [Android Development Tools]->ADT-17.0.0.zip
======================================================================
Step 3: 開始安裝
手動安裝流程
1.建立android專用資料夾
2.複製Step 2下載的套件到android專用資料夾裡
3.解壓縮SDK/ECLIPSE到android專用資料夾
4.修改資料夾跟檔案權限
5.安裝SUN JDK
6.啟動eclipse,安裝ADT
7.建立android專案
8.編譯並執行 HelloAndroid
======================================================================
Part 1.建立android資料夾
[nash@.....]# sudo mkdir /home/nash/Android
Part 2.複製下載套件到android專用資料夾
[nash@.....]# cp /home/nash/Downloads/* /home/nash/Android 
Part 3.解壓縮SDK/ECLIPSE到android專用資料夾
[nash@.....]# tar zxvf /home/nash/Android/android-sdk_r17-linux.tgz
[nash@.....]# tar zxvf /home/nash/Android/eclipse-java-indigo-SR2-linux-gtk.tar.gz 
Part 4.修改資料夾跟檔案權限
[nash@.....]# chmod -R 775 /home/nash/Android
Part 5.安裝SUN JDK
一.確認/usr/lib/是否有jvm資料夾,沒有就建立
[nash@.....]# sudo mkdir /usr/lib/jvm
二.安裝"java-common"
[nash@.....]# sudo apt-get install java-common
三.檢查JAVA版本,是否為sun jdk不是open jdk
[nash@.....]# java -version
四.不是sun jdk,請下載SUN_JDK_6 bin file到android資料夾
五.寫一個安裝script簡化手動安裝jdk流程
install_sun_javajdk6.sh
[nash@.....]# vi /home/nash/Android/install_sun_javajdk6.sh
#!/bin/sh
echo 'You need to sudo apt-get install java-common First. Press  if you have already apt-got it...'
read dummy
JAVA_CV="1.6.0_25" #jdk版本如有不同請自行修改
JAVA_DIR="java-6-sun"
sudo chmod +x jdk-6u25-linux-i586.bin #jdk版本如有不同請自行修改
sudo chmod +x jdk_config.sh
./jdk-6u25-linux-i586.bin #jdk版本如有不同請自行修改
sudo mv jdk$JAVA_CV /usr/lib/jvm/$JAVA_DIR-$JAVA_CV
sudo ln -s /usr/lib/jvm/$JAVA_DIR-$JAVA_CV /usr/lib/jvm/$JAVA_DIR #建立java連結
sudo ./jdk_config.sh $JAVA_DIR
sudo update-java-alternatives -s java-6-sun #設定OS所使用的java版本
echo "------- DONE -------"
echo "Your Java Home is: $JAVA_HOME, JAVA Version: "
java -version #檢查OS使用的java版本
read dummy
jdk_config.sh
[nash@.....]# vi /home/nash/Android/jdkconfig.sh
#!/usr/bin/env bash
# ----------------------------------------------------------------------
# Description
# Setup a Sun Java 6 JDK with the alternatives system.
#
# Usage
# To setup the alternatives system:
# $ sudo ./configure-java-6.sh
#
# To set the configured JDK as the system default one, you can then run:
# $ sudo update-java-alternatives -s java-6-sun
#
# Prerequisites
# /usr/lib/jvm/java-6-sun must point to the JDK to setup.
#
# ----------------------------------------------------------------------


# ----------------------------------------------------------------------
# Constants
# ----------------------------------------------------------------------

#JDK_ALIAS=java-6-sun
JDK_ALIAS=$1 # Set it from command prompt
JDK_DIRECTORY=/usr/lib/jvm/$JDK_ALIAS
JDK_ALTERNATIVE_PRORITY=1
JINFO_FILE=/usr/lib/jvm/.$JDK_ALIAS.jinfo


# ----------------------------------------------------------------------
# Functions
# ----------------------------------------------------------------------

# Check the execution rights.
check_rights()
{
  if [[ $USER != 'root' ]]; then
echo "Error: You must run this script as root."
    exit 1
  fi
}

# Check that $JDK_DIRECTORY contains a Sun Java JDK 6.
check_jdk()
{
  if [[ ! -e $JDK_DIRECTORY ]] && [[ ! -e $JDK_DIRECTORY/jre/bin/java ]] && [[ ! -e $JDK_DIRECTORY/bin/java ]] ; then
echo "Error: '$JDK_DIRECTORY' must point to a valid Sun Java 6 JDK home."
    exit 1
  fi
}

# Register the JRE executable.
setup_jre_alternative()
{
  update-alternatives --verbose --install /usr/bin/$1 $1 $JDK_DIRECTORY/jre/bin/$1 $JDK_ALTERNATIVE_PRORITY
  echo "jre $1 $JDK_DIRECTORY/jre/bin/$1" >> $JINFO_FILE
}

# Register the JDK executable.
setup_jdk_alternative()
{
  update-alternatives --verbose --install /usr/bin/$1 $1 $JDK_DIRECTORY/bin/$1 $JDK_ALTERNATIVE_PRORITY
  echo "jdk $1 $JDK_DIRECTORY/bin/$1" >> $JINFO_FILE
}

# Start the .jinfo file.
generate_jinfo_header()
{
  echo "name=$JDK_ALIAS" > $JINFO_FILE
  echo "alias=$JDK_ALIAS" >> $JINFO_FILE
  echo "priority=$JDK_ALTERNATIVE_PRORITY" >> $JINFO_FILE
  echo "section=non-free" >> $JINFO_FILE
}


# ----------------------------------------------------------------------
# Main
# ----------------------------------------------------------------------

# Check execution rights.
check_rights

# Check that there is a JDK at the right place.
check_jdk

# Generate a .jinfo file for the update-java-alternatives command.
generate_jinfo_header

# Register the executables with the alternatives system.
setup_jre_alternative java
setup_jre_alternative keytool
#setup_jre_alternative kinit
#setup_jre_alternative klist
#setup_jre_alternative ktab
setup_jre_alternative orbd
setup_jre_alternative pack200
setup_jre_alternative policytool
setup_jre_alternative rmid
setup_jre_alternative rmiregistry
setup_jre_alternative servertool
setup_jre_alternative tnameserv
setup_jre_alternative unpack200
setup_jdk_alternative appletviewer
setup_jdk_alternative apt
setup_jdk_alternative extcheck
setup_jdk_alternative idlj
setup_jdk_alternative jar
setup_jdk_alternative jarsigner
setup_jdk_alternative javac
setup_jdk_alternative javadoc
setup_jdk_alternative javah
setup_jdk_alternative javap
setup_jdk_alternative jconsole
setup_jdk_alternative jdb
setup_jdk_alternative jinfo
setup_jdk_alternative jmap
setup_jdk_alternative jps
setup_jdk_alternative jsadebugd
setup_jdk_alternative jstack
setup_jdk_alternative jstat
setup_jdk_alternative jstatd
setup_jdk_alternative native2ascii
setup_jdk_alternative rmic
setup_jdk_alternative serialver

# Log a message about the jinfo file.
echo "The file '$JINFO_FILE' containing metadatas used by the 'update-java-alternatives' command has been generated."
六.修改install_sun_javajdk6.sh &jdk_config.sh檔案權限
[nash@.....]# chmod -R 775 /home/nash/Android/
七.執行install_sun_javajdk6.sh
[nash@.....]# sudo ./install_sun_javajdk6.sh
八.檢查安裝結果
[nash@.....]# java -version
java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing) 
Part 6.啟動eclipse,安裝ADT
一.進入/home/nash/Android/eclipse資料夾,執行eclipse
[nash@.....]# ./home/nash/Andriod/eclipse/eclipse
二.若是初次開啟,請關掉 Welcome 畫面初次開啟 eclipse 的時候,會有歡迎畫面 Welcome。直接在 Welcome旁,按X 把它關掉即可
三.安裝ADT,可分兩種方式1.網路安裝,2.手動下載安裝
1.網路安裝:
執行 Eclipse 後,Main Menu -> Help -> Install New Software … 開啟畫面[如圖p1],在彈出視窗的 Add 按鍵,打入名稱以及在 Location中輸入"https://dl-ssl.google.com/android/eclipse/",並且在Name 輸入AndroidDeveloperPlugin-Tools (其實 Name 隨你怎麼打都行)[如圖p2],接著會開始抓取套件,抓到後會秀在中間的視窗中,如圖p3,選取你要的套件,然後按Next進入安裝,安裝完成後會問你是否要restart,restart後環境就設定完成,接下來就可以開始建立android專案
p1


p2
p3


2.選擇手動安裝ADT
a.執行 Eclipse 後,Main Menu -> Help -> Install New Software … 開啟畫面,在彈出視窗的 Add 按鍵 , 打入名稱以及在 Location中選擇ADT-17.0.0.zip放置的資料夾,安裝好之後他會問你要不要重新啟動,選 Restart,重新啟動後要你選擇SDK是否要安裝選YES就是網路安裝選下面就是手動安裝SDK
b.如果想修改SDK的路徑,在eclipse 之中設定 android sdk path ,Main Menu -> Windows -> Preference -> Android選取”SDK Location”這邊要設定 Android SDK的路徑,即可
Part 7.建立android專案
一.我們需要開啟的Perspective 不是 Java EE 而是 Java,Main Menu -> Windows -> Open Perspective -> Other,選擇 Java 按 OK
二.在Java Perspective 中新增 Android 專案,Main Menu -> File -> New -> Other -> Android Project
p4
p5


三.設定
Project name 設 HelloAndroid
Contents 設 Create new project in workspace


Build Target 設 Android 4.0,按Next
p7


Properties.Application name 設 HelloAndroid
Package name 設 Milosamples.HelloAndroid
Create Activity 打鉤並設 HelloAndroidActivity,按Finish
p8


四.設定完成後按下 Finish 按鈕便可完成一個Hello World的 Android sample
p9
Part 8.編譯並執行 HelloAndroid
一.建立編譯執行的 configuration, Main Menu -> Run -> Run configurations …
p10
二.請 double-click Android Application ,會產生 New_configuration
p11
設定 Name 為 AdnroidAppConig_1
Project為 HelloAndroid
三.Target選automatic,設定完成後apply,and close
p12
四.設定AVD Manager, Main Menu -> Window -> AVD Manager
p13
NEW一個virtual device
Name : AVD4[隨便取都行]
Target : 選android 4.0
SD Card:沒用到可以不用填
Skin : 畫面大小
Hardware : 選取開發HW條件
p14
五.完成後執行,Main Menu -> Run
p15
六.開機完成
p16
參考資料:
http://milochen.wordpress.com/2010/05/22/newbie-tutorial-to-create-android-app-developer-environment-on-ubuntu-10-04-9-10-64bits/

沒有留言:

張貼留言