2012年10月23日火曜日

AmazonEC2でAndroidのビルド環境構築3(ビルド環境準備)

Ubuntu10.04上にAndroidのビルド環境を用意します。

1. Androidのビルドに必要なソフトウェアをインストール
Ubuntu10.04上で作業します。
(i) Androidのビルドに必要なソフトウェアのインストール
~$ sudo apt-get update
~$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zligb1g-dev gcc-multilib g++-multilib lib32ncurses5-dev x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev uboot-mkimage
※うまくいかない場合もあるので1つずつインストールした方が無難かも

※32bit版Ubuntuの場合には
lib32ncurses5-dev , lib32readline5-dev lib32z-dev はインストール不要
libncurses5-dev がインストール必要

2. DevKitのインストール
DevKitと呼ばれるrowboatの開発者向けソフトウェア群をインストール
ビルドにはAOSPに含まれる開発ツールだけでは不足している のでDevKitで不足を補える
(ii) DevKitのインストール
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_4_DevKit_2_1/index_FDS.html
より「TI_Android_GingerBread_2_3_4_DevKit_2_1.tar.gz」をダウンロード

$ tar xzvf TI_Android_GingerBread_2_3_4_DevKit_2_1.tar.gz -C $HOME
$ mkdir $HOME/bin
$ cd $HOME/bin
~/bin$ cp /home/Ubuntu/TI_Android_GingerBread_2_3_4_DevKit_2_1/Tools/signGP/signGP $HOME/bin
~/bin$ gedit $HOME/.bashrc
最終行に export PATH=$PATH:$HOME/bin を追加
~/bin$ source $HOME/.bashrc


3. ソースコードのダウンロード 
[repoコマンド設定]
~$ cd $HOME/bin
~/bin$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > $HOME/bin/repo
~/bin$ chmod a+x repo

[Android2.3のソースコードのダウンロード]
~$ mkdir $HOME/rowboat-android
~$ cd $HOME/rowboat-android
~/rowboat-android$ repo init -u git://gitorious.org/rowboat/manifest.git -m TI-Android-GingerBread-2.3.4-DevKit-2.1.xml

途中下記を聞いてきますが、デフォルトで答えます
Your Name  [Ubuntu]: 
Your Email [ubuntu@ip-10-150-101-252.ap-northeast-1.compute.internal]: 

Your identity is: Ubuntu
is this correct [y/N]? y

Testing colorized output (for 'repo diff', 'repo status'):
  black    red      green    yellow   blue     magenta   cyan     white 
  bold     dim      ul       reverse 
Enable color display in this user account (y/N)? y

repo initialized in /home/ubuntu/rowboat-android


~/rowboat-android$ repo sync -j4 (時間がかかる:90分程度でした)
-j4はコア数によって。-j4は無くても良いです。

[パスの設定]
~/rowboat-android$ gedit $HOME/.bashrc
export PATH=$HOME/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
最終行に追加
~/rowboat-android$ source $HOME/.bashrc

[補足]
repoでソースコードをダウンロードしているときに容量の不足になってしまいました。
(8GByteしかEBSでとってなかったので当然ですが)
8GByte→30GByteに拡張します。
(i) 対象のインスタンスを「stop」
(ii) ELASTIC VOLUME STORE -> Volumes ->対象のVolumeにチェック -> Create Snapshot
(iii) 作成されたSnapshotにチェックし -> Create Volume
※ZONEもインスタンスとそろえないと接続できないようです。
(iv) 今までついていた8GのVolumeをチェックし、-> Detach Volume をクリックしインスタンスからはずす
(v) 新しく作成したVolumeをチェックして、Attach Volumeをチェックし「/dev/sda1」として接続
(vi) インスタンスをスタート
(vii) sshで接続して見てみるとまだ反映されていません。

$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              8256952   7783216     54308 100% /
none                    830400       116    830284   1% /dev
none                    880744         0    880744   0% /dev/shm
none                    880744        80    880664   1% /var/run
none                    880744         0    880744   0% /var/lock
none                    880744         0    880744   0% /lib/init/rw
/dev/sdb             153899044    192068 145889352   1% /mnt


(viii) リサイズ sudo resize2fs /dev/sda1を実行

$ sudo resize2fs /dev/sda1
resize2fs 1.41.11 (14-Mar-2010)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/sda1 to 7864320 (4k) blocks.
The filesystem on /dev/sda1 is now 7864320 blocks long.

~$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             30963708   7788064  21603064  27% /
none                    830400       116    830284   1% /dev
none                    880744         0    880744   0% /dev/shm
none                    880744        76    880668   1% /var/run
none                    880744         0    880744   0% /var/lock
none                    880744         0    880744   0% /lib/init/rw
/dev/sdb             153899044    192068 145889352   1% /mnt
これでEBS容量の拡張ができました。

2012年10月22日月曜日

AmazonEC2でAndroidのビルド環境構築1(アプリ開発環境)

AmazonEC2でAndroidのビルド環境構築の方法です。

1. Eclipseのダウンロード及び設定
$ sudo apt-get install openjdk-6-jdk
$ sudo apt-get install ia32-libs

ブラウザからEclipse IDE for Java Developers 4.2 をデスクトップにダウンロード
展開
$tar zxvf eclipse-java-juno-linux-gtk-x86_64.tar.gz

念のため、Javaのバージョンを確認しておく
$ java -version

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.4) (6b24-1.11.4-1ubuntu0.10.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

Eclipseを立ち上げる.


※microインスタンスではEclipseを立ち上げると落ちてしまう。
ここからsmallインスタンスに変更します。
※インスタンスをstopして、change Instance Typeでsmallにします。
public DNSも変更されます。

2. ADTのインストール
[help]⇒[Install New Software...]
名前:Android
URL:https://dl-ssl.google.com/android/eclipse/を入力
Developers Toolsを選択
(NDKは不要)インストール
同意してインストールを開始

3. Android SDKのインストール
ADTインストール後、Eclipse再起動時にインストール画面がでてくる
デフォルトだと最新版しかインストールされない(4.2は必要無いのでチェックを外す)。
Android SDK Managerよりandroid 2.3.3をインストール
SDKの保存場所は /home/ubuntu/Desktop/eclipse/android-sdkとします

4. Android エミュレータの設定
[Android Virtual Device Managerを起動]
[Window]⇒[AVD Manager]から起動
[AVDの作成]
AVDの[New]ボタンより作成
NameにAVD2.3.3
TargetにAndroid2.3.3-API Level 10を選択
[Create AVD]ボタンを押す


[エミュレータの起動]
作成したAVD2.3.3を選択し、[Start]ボタンを押す

ここまででAndroidのアプリ開発はOKです。

2012年10月19日金曜日

AmazonEC2のGUI化(Ubuntu)

AmazonEC2のUbuntuインスタンスを立ち上げて、GUIで利用する方法です。

1. インスタンス立ち上げ
今回はami-0047f301(Ubuntu10.04 64bit)のmicroインスタンス(Tokyo)で行っています。
※ubuntuではsshでubuntuでログインします。
rootのパスワードは設定していないので
$ passwd root
で変更します。

2.  the Desktop Environment and VNC Server
sshで接続し、ソフトウェアをインストールします。
$ sudo apt-get update
$ sudo apt-get install ubuntu-desktop (時間がかかります)
$ sudo apt-get install vnc4server

3. 設定
$ su - ubuntu VNCで接続するユーザ
$ vncpasswd
Password:
Verify:

:1を指定すると5901でアクセスする
$ vncserver :1
xauth:  creating new authority file /home/ubuntu/.Xauthority

New 'ip-10-120-2-246:1 (ubuntu)' desktop is ip-10-120-2-246:1

Creating default startup script /home/ubuntu/.vnc/xstartup
Starting applications specified in /home/ubuntu/.vnc/xstartup
Log file is /home/ubuntu/.vnc/ip-10-120-2-246:1.log
※/home/ubuntu/.vnc/xstartupが作成される

一旦停止
$ vncserver -kill :1 
Killing Xvnc4 process ID 4971

~$ vi .vnc/xstartup
最終行に追加
exec gnome-session &

コピー、ペーストの設定
vncconfig -nowin &

$ vncserver :1 -geometry 1440x800 -depth 24
 ディスプレイ番号「1」、解像度「1440x800 」、色深度「24」で起動
macにはちょうどよい

4. アクセス
MACでは
移動->サーバに接続->
接続すると、図のような画面がでてきます。


2013/12/20 自動起動の追加
$ cd /etc/init.d
$ sudo vi vnc 

[vnc]の内容
#! /bin/sh -e

export USER="ubuntu"
DISPLAY="1"
DEPTH="24"
GEOMETRY="1440x800"
NAME="my-vnc-server"

OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

. /lib/lsb/init-functions

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

restart)
$0 stop
$0 start
;;
esac

exit 0

$ sudo chmod +x vnc
$ sudo update-rc.d vnc defaults

これで起動時にvncserverが立ち上がります.

2012年10月12日金曜日

JSP環境の設定(Mac, Windows)

MACにJSPの環境の設定メモです。

1.事前環境
  Eclipse4.2、JDK1.7がインストール済み

2.Tomcatのインストール
  http://tomcat.apache.org/download-70.cgi
  より、apache-tomcat-7.0.32.tar.tar.gzをデスクトップにダウンロード
  展開:$ tar xzvf apache-tomcat-7.0.32.tar.tar.gz
  移動:$ cd apache-tomcat-7.0.32/bin
  起動:$ sh ./startup.sh
  アクセス:http://localhost:8080/

  停止:$ sh ./shutdown.sh

3.Eclipseの設定
  Eclipse -> 環境設定 -> Tomcat
  バージョンと設置したディレクトリ(解凍したもの)を指定

  EclipseからTomcatを起動
Eclipseから起動、停止ができるようになりました。

4.JSPのテスト
  File -> New -> Java -> Tomcatプロジェクトを作成

  プロジェクト名:JSP_Test
  追加フィアル名:jsp_test.jsp
  ※JSPファイルは新規クラスで追加ではなく、新規ファイルで追加
  ※JSPファイルはプロジェクト直下におきます



  ※2012/10/15 追記
  Tomcatプロジェクト作成の時
  「Webアプリケーション・ルートとするサブディレクトリ」を例えば
  /sample/
  とするとプロジェクト内に「sample」フォルダができてそこにJSPファイルを格納
  しておくと見やすいです。

アクセスはsampleを入れずにプロジェクト名/JSPファイル名でいけます。  

  作成したJSPファイルに下記を書き込みます。
  

Tomcatを起動し、ブラウザを起動して
  http://localhost:8080/JSP_Test/jsp_test.jsp
  にアクセスします。
  下記が見えればテスト終了です。


2012/10/29 追記
続いてWindows+Eclipse3.6の設定です。

1.Tomcatのインストール、設定
http://tomcat.apache.org/download-70.cgi
より7.0.32の
32-bit Windows zip または 64-bit Windows zip をダウンロードし展開します。
展開したフォルダをEclipseのフォルダに入れておきます。
ウインドウ->設定 よりTomcatのバージョンとフォルダを指定すればEclipseから起動できます。
起動後、ブラウザを開き

2.Testプロジェクト作成
ファイル->新規->Web->動的Webプロジェクトを選択
※ターゲットランタイムにTomcat7を追加しました(今回は)