2012年10月31日水曜日

AmazonEC2でAndroidのビルド環境構築2(beagleboard接続)

Beagleboard-xmを起動させ作業用PCから接続します。

1. beagleboard-xmビルド済みイメージのダウンロード
[コンパイルされたAndroidの入手]
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
より「beagleboard-xm.tar.gz」をダウンロード

[SDカードの作成]
$ tar xzvf beagleboard-xm.tar.gz
$ cd beagleboard-xm/
カードリーダーライターでmicroSDカードを認識後、
$ df (microSDカードのデバイス名を確認。例:/dev/sdb )
$ LANG=C sudo ./mkmmc-android.sh /dev/sdb
microSDカードを装着し、電源をいれます

これはAmazonEC2からはできないので、PC上に作成された仮想イメージで行います。

HDMI→DVIケーブルで接続されたモニタにAndroidが起動すればOKです。

2. Android SDKのコマンドラインツール の利用
[パスを通す]
/home/ubuntu/.bashrc に下記を追加
export PATH=$PATH:/home/ubuntu/Desktop/eclipse/android-sdk-linux/platform-tools (adb)
export PATH=$PATH:/home/ubuntu/Desktop/eclipse/android-sdk-linux/tools   (ddms,emulator)
@ubuntu:~$ source ~/.bashrc

[emulatorコマンド]
@ubuntu:~$ emulator -avd avd2.3.3

3. ボードとPCの接続
ボードとの接続は2通りあります。
・ネットワーク経由
・USB接続(miniUSBポート利用)

続きは後で。

AmazonEC2でAndroidのビルド環境構築5(ファイル共有)

Ubuntuで作成したファイルを共有する方法です。
今回はUbuntu Oneを利用します。

1.Ubuntu One起動

パスフレーズを入力(キーリング:defaultのパスワード)


画面が起動し、ブラウザも起動する。この状態だとunknown

ブラウザでIDを持ってなければ、作成する。


IDを作成してログインすると
「PCが登録されていなければ、UbuntuPCを登録するようにする」

PCを追加すると、次の画面がでてくる

アプリケーションに戻り「Connect」を押す

成功すると、ホームディレクトリに「Ubuntu One」というフォルダがあり、同期がとれる状態になっている。
そこにファイルをいれると同期ができる。

Windows、MACからもUbuntu One用のソフトがあるので、それを利用すれば簡単に共有ができる。「Dropbox」のイメージで結構使いやすく、同期も早そう。

2012年10月30日火曜日

JavaBeansプログラミング3(フォーム利用:MVC)

フォーム(HTML)、受け取り(Servlet)、データ格納(JavaBeans)、データ表示(JSP)を行います。
MVCで行います。
M:JavaBeans、V:JSP、C:Servletです。

1.Tomcatプロジェクト作成
プロジェクト名:HelloMVC
ルートディレクトリ:sample

パッケージ作成
パッケージ名:hellomvc

ファイル作成
・sample/form.html
・sample/HelloMVC.jsp
・sample/WEB-INF/src/hellomvc/HelloMVC_Servlet.java
・sample/WEB-INF/src/hellomvc/HelloMVC_Bean.java
・sample/WEB-INF/web.xml




IDとパスワードの変更画面(入力して表示するだけ)を作成します。

2.コード作成
2-1 HTMLフォーム
[form.html]

ソースコードはこちら




[HelloMVC_Servlet.java]

package hellomvc;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloMVC_Servlet extends HttpServlet {
  /**
*
*/
private static final long serialVersionUID = -1378958237392312712L;

public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
// リクエストパラメータの文字エンコーディングを設定
request.setCharacterEncoding("Windows-31J");
// JavaBeansSendMailをインスタンス化
HelloMVC_Bean objBean = new HelloMVC_Bean();

objBean.setId(request.getParameter("user"));
objBean.setPassword(request.getParameter("passwd"));

// HelloMVC_Beanクラスをリクエスト属性にセット.これがないとJSP側で同じオブジェクトを使えません。
request.setAttribute("mvc",objBean);
   // 処理をHelloMVC.jspに転送
  getServletContext().getRequestDispatcher("/HelloMVC.jsp").
  forward(request,response);
  }
}



[HelloMVC_Bean.java]

package hellomvc;

public class HelloMVC_Bean {

// 各種パラメータを保存するプライベート変数を定義
  private String id;
  private String password;

// コンストラクタ
  public HelloMVC_Bean(){
  }

  // 各種プロパティのアクセサメソッド
  public String getId(){
  return id;
  }
  public String getPassword(){
                  return password;
          }

  public void setId(String id){
  this.id=id;
  }
  public void setPassword(String password){
  this.password=password;
  }

}



[HelloMVC.jsp]

<a href="https://docs.google.com/open?id=0B2K8r-qA0vpLTDJESFdwdWtKazg">ソースはこちら</a>[web.xml]
ソースはこちら

うまく実行できれば




①HTML(フォーム)から情報をServletに送信します。

②サーブレットでは

JavaBeanのクラスインスタンスを生成し
HelloMVC_Bean objBean = new HelloMVC_Bean();



objBean.setId(request.getParameter("user"));
objBean.setPassword(request.getParameter("passwd"));

パラメータを受け取り格納します。

その後JSPで同じオブジェクトを利用できるように、オブジェクトをJSPに転送します
// HelloMVC_Beanクラスをリクエスト属性にセット.これがないとJSP側で同じオブジェクトを使えません。
request.setAttribute("mvc",objBean);
   // 処理をHelloMVC.jspに転送
  getServletContext().getRequestDispatcher("/HelloMVC.jsp").
  forward(request,response);

③JSPでは同じオブジェクトを利用し、表示します。

この流れがMVC基本形です。
HTML,Servlet(C),JavaBeans(M),JSP(V)の連携を理解してください。

2012年10月29日月曜日

JavaBeansプログラミング2(HelloServlet)

Servletの確認を行います。

1.プロジェクト、ファイル作成
Tomcatプロジェクトを作成し、
パッケージ名:hello
クラス名:HelloServlet.java
ルートディレクトリ/sample/
を作成します。

2.Servlet用ファイル作成
パッケージ作成「hello」
sample/WEB-INF/src/hello

helloパッケージの中に「HelloWorld.java」を作成


[HelloWorld.java]

package hello; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { /** * */ private static final long serialVersionUID = -2003654477020348689L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("&lt;html&gt;"); out.println("&lt;head&gt;"); out.println("&lt;title&gt;Hello World Servlet!&lt;/title&gt;"); out.println("&lt;/head&gt;"); out.println("&lt;body&gt;"); out.println("&lt;h1&gt;Hello World Servlet!&lt;/h1&gt;"); out.println("&lt;/body&gt;"); out.println("&lt;/html&gt;"); } }

ここで



private static final long serialVersionUID = -2003654477020348689L;はServletではserial IDを振ることになっているので&#12289;警告がでます&#12290;クラス名を右クリックして自動生成します&#12290;doGet()はデフォルトです&#12290;何も指定しなければdoGet()メソッドが呼ばれます&#12290;3. web.xml作成sample/WEB-INF/の中にweb.xmlを作成します&#12290;


[web.xml]



4. 表示http://localhost:8080/HelloServlet/hello/HelloServletプロジェクト名/パッケージ名/ソース名

が表示されればここまで大丈夫です&#12290;

JavaBeansプログラミング1(JSPタグ利用方法)

JavaBeansプログラミングの基本です。

http://sdc.sangi.jp/2012/10/macjsp.html
で作成したプロジェクトをそのまま利用します。

1. JavaBeans用パッケージを追加します。
sample/WEB-INF/src の下にパッケージを作成します。
今回は「javaBeans」とします。



同じくクラスをこのパッケージの中に作成します.


2. javaBeansファイルの作成
(慣例的にJavaBeansのクラス名の最後はBeanにします。)
ファイル名「BicycleBean.java」

package javabeans;

public class BicycleBean {

private int number;

public int getNumber(){
return number;
}

public void setNumber(int num){
this.number = num;
}

}

3.  javaBeansにアクセスするタグ
[JSPからjavaBeansのオブジェクト生成]
scope:使用するBeanのスコープを「page、request、session、application」から指定。 初期値 : page

[プロパティに値を設定するsetter]


[プロパティから値を取り出すgetter]

4. JSP作成

<%@ page contentType="text/html; charset=Shift_JIS" %>
<html>
<head>
<title>Hello! JSP</title>
</head>

<jsp:useBean id="bicycle" scope="page" class="javabeans.BicycleBean"/>
<jsp:setProperty name="bicycle" property="number" value="10"/>

<body>
<%
    String item = "Hello JSP!";
%>
<h2>
<%=item%>
<h2/>

バイクの台数は:${bicycle.number}台です。<br>

バイクの台数は:<jsp:getProperty name="bicycle" property="number" />台です。<br>

</body>
</html>

アクセスすると、下記が見られます。

2012年10月25日木曜日

AmazonEC2でAndroidのビルド環境構築4(ビルド実行)

AmazonEC2を利用してLinuxのビルド、Androidのビルドを行います。

実験としてインスタンスを変更してどの位ビルド時間がちがうか確認します。
Linux、Androidともに初回のビルドの環境で行います。
簡単なスクリプトを記述して、準備します。

[Linuxビルド用スクリプト]

#!/bin/bash

echo "Small Instance" >> result.txt
echo "Linux Build" >> result.txt
echo "start" >> result.txt
date >> result.txt

cd $HOME/rowboat-android/kernel
make ARCH=arm CROSS_COMPILE=arm-eabi- distclean
make ARCH=arm CROSS_COMPILE=arm-eabi- omap3_beagle_android_defconfig
make ARCH=arm CROSS_COMPILE=arm-eabi- uImage

cd ..
echo "end" >> result.txt
date >> result.txt
echo "----------------------------------" >> result.txt
echo "----------------------------------" >> result.txt

[Androidビルド用スクリプト]

#!/bin/bash

echo "Small Instance" >> result.txt
echo "Android Build" >> result.txt
echo "start" >> result.txt
date >> result.txt

cd $HOME/rowboat-android/
make TARGET_PRODUCT=beagleboard OMAPES=5.x

echo "end" >> result.txt
date >> result.txt
echo "----------------------------------" >> result.txt
echo "----------------------------------" >> result.txt

ここまで準備ができたらインスタンスをstopして、対象インスタンスにチェック。
-> Create image -> AMIsに作成される
AMIsで対象にチェックし -> Launch
後はインスタンスタイプなどを決めていつもと同じように起動します。

[Linuxビルド所用時間]

Micro Instance
Linux Build
start
Wed Oct 24 15:38:52 UTC 2012
end
Wed Oct 24 16:40:08 UTC 2012
----------------------------------
----------------------------------
1時間1分16秒


Small Instance
Linux Build
start
Wed Oct 24 16:12:32 UTC 2012
end
Wed Oct 24 16:32:11 UTC 2012
----------------------------------
----------------------------------
19分28秒


HIGH CPU Medium Instance
Linux Build
start
Wed Oct 24 16:26:09 UTC 2012
end
Wed Oct 24 16:36:27 UTC 2012
----------------------------------
----------------------------------
10分18秒


Medium Instance
Linux Build
start
Wed Oct 24 16:32:36 UTC 2012
end
Wed Oct 24 16:42:56 UTC 2012
----------------------------------
----------------------------------
10分20秒

Large Instance
Linux Build
start
Thu Oct 25 06:42:29 UTC 2012
end
Thu Oct 25 06:53:35 UTC 2012
----------------------------------
----------------------------------
11分6秒

Extra Large Instance
Linux Build
start
Thu Oct 25 06:46:45 UTC 2012
end
Thu Oct 25 06:57:49 UTC 2012
----------------------------------
----------------------------------
 11分4秒

High CPU Extra Large Instance
Linux Build
start
Thu Oct 25 06:52:50 UTC 2012
end
Thu Oct 25 07:04:15 UTC 2012
----------------------------------
----------------------------------
11分25秒

########2012/11/11追加#########
各インスタンスでビルド時にジョブ数(コア数)をを指定した場合
make ARCH=arm CROSS_COMPILE=arm-eabi- uImage -jx


Large Instance Core2
Linux Build
start
Sun Nov 11 14:58:44 UTC 2012
end
Sun Nov 11 15:04:47 UTC 2012
----------------------------------
----------------------------------

6分3秒


Extra Large Instance 4Core
Linux Build
start
Tue Nov 13 19:29:40 UTC 2012
end
Tue Nov 13 19:34:18 UTC 2012
----------------------------------
----------------------------------
4分38秒


High Memory Extra Large Instance 2Core
Linux Build
start
Tue Nov 13 19:33:05 UTC 2012
end
Tue Nov 13 19:38:08 UTC 2012
----------------------------------
----------------------------------
5分3秒


High Memory Double Extra Large Instance 4Core
Linux Build
start
Tue Nov 13 19:56:56 UTC 2012
end
Tue Nov 13 19:59:27 UTC 2012
----------------------------------
----------------------------------
2分31秒


High Memory Quad Extra Large Instance 8Core
Linux Build
start
Tue Nov 13 20:06:26 UTC 2012
end
Tue Nov 13 20:09:12 UTC 2012
----------------------------------
----------------------------------
2分46秒


High CPU Medium Instance 2Core
Linux Build
start
Wed Nov 14 13:02:43 UTC 2012
end
Wed Nov 14 13:09:25 UTC 2012
----------------------------------
----------------------------------
6分42秒


High CPU Extra Large Instance 8Core
Linux Build
start
Wed Nov 14 13:09:02 UTC 2012
end
Wed Nov 14 13:12:03 UTC 2012
----------------------------------
----------------------------------
3分1秒


[Androidビルド所用時間]
Micro Instance
Android Build
ビルドできず
----------------------------------
----------------------------------

Small Instance
Android Build
start
Wed Oct 24 20:32:33 UTC 2012
end
Thu Oct 25 00:45:13 UTC 2012
----------------------------------
----------------------------------
4時間12分40秒

High CPU Medium Instance
Android Build
start
Wed Oct 24 20:34:05 UTC 2012
end
Wed Oct 24 22:25:59 UTC 2012
----------------------------------
----------------------------------
1時間51分54秒

Medium Instance
Android Build
start
Wed Oct 24 20:34:14 UTC 2012
end
Wed Oct 24 22:38:44 UTC 2012
----------------------------------
----------------------------------
2時間4分30秒

Large Instance
Android Build
start
Thu Oct 25 06:54:53 UTC 2012
end
Thu Oct 25 08:46:59 UTC 2012
----------------------------------
----------------------------------
1時間52分6秒

Extra Large Instance
Android Build
start
Thu Oct 25 07:00:15 UTC 2012
end
Thu Oct 25 08:47:31 UTC 2012
----------------------------------
----------------------------------
 1時間47分16秒

High CPU Extra Large Instance
Android Build
start
Thu Oct 25 07:07:29 UTC 2012
end
Thu Oct 25 09:01:06 UTC 2012
----------------------------------
----------------------------------
1時間53分37秒

e-learning学会論文用計測データ


sangi.mobile1を使用

PC
Google drive
00'13"62
00'08"87
00'07"88

wordファイル
00'17"28
00'13"72
00'13"41


Galaxy Tab
Google drive(ブラウザで表示)
01'09"75
00'38"77
00'42"57
00'41"84
00'38"85
00'51"99
00'49"50

wordファイル(Olive Office)
03'33"61
03'33"35
03'35"72



iPad
Google drive(ブラウザで表示)
00'10"84
00'50"18

00'12"75
00'09"59
00'51"98
00'09"54
00'07"42
00'10"35

wordファイル(ブラウザ)
00'09"30
00'09"32
00'09"71
00'08"06


時間にばらつきがありますが、明らかに遅いものは恐らくモバイルルータの3G回線が入っていなかったんだと思います。

PCはdrive(ドキュメント)はブラウザ、wordファイルはダウンロードが完了されるまでの時間です。

Galaxy Tabは、driveはブラウザ、wordファイルはアプリ(OliveOffice)で表示されるまでの時間です。

iPadは、drive、wordファイルどちらもブラウザで表示されるまでの時間です。



2012年10月24日水曜日

動画制作の環境設定


【動画制作の環境設定】
先に用意するもの
・PowerPoint2010 以上

----------------------
以下のものをダウンロード、設定します。
1.PowerPointの音声設定
2.XMedia Recode (動画ファイルの形式変換ソフト)
3.AG-デスクトップレコーダー (動画キャプチャソフト)

----------------------
■1.PowerPointの音声設定
下記に必要なファイル・設定はまとめてあります。
http://office.microsoft.com/ja-jp/powerpoint-help/HA101825279.aspx
設定がすべて完了したら
1.PowerPointを開き、適当な文章を入力
2.文章を選択して反転
3.読み上げボタンを押す
音声が文章を読み上げれば成功です。




■2.XMedia Recode (動画ファイルの形式変換ソフト)
下記のページから
http://www.xmedia-recode.de/download.html
「xmedia-recode」をダウンロード
※最新版なら一番上、安定板は一番下のようです。どちらでもOK
スクリーンショットは最新版を示してます。
インストールしてください。
動画ファイルの変換ソフトです。

1.変換したいファイルの読み込み
2.変換したい形式の選択
    PowerPointに貼り付ける際、
       動画        : WMV(Windows Media Video)形式
       音楽(音声)  : MP3形式
    にしておくと都合がいいです。
3.変換したファイルの保存先選択
4.リストに追加ボタンを押す
5.エンコードを押して変換が始まります(時間がかかる可能性があります)
 


詳しい使い方↓
http://www.gigafree.net/media/conv/xmediarecode.html



■3.AG-デスクトップレコーダー (動画キャプチャソフト)
下記のページから
http://t-ishii.la.coocan.jp/download/AGDRec.html

AG-デスクトップレコーダーをダウンロードしてインストール
PC画面をそのまま録画して動画ファイルにするソフトです。
音声も録れます。

※音声のみは録れないので、音声のみ欲しい場合は
AG-デスクトップレコーダーで音声付き動画を撮影 → XMedia Recodeで音声だけを抽出の手順です。

このソフトについては後程また追記します。


詳しい使い方↓
http://www.gigafree.net/media/recording/agdesktoprecorder.html

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を追加しました(今回は)