金子邦彦研究室プログラミングJavaScript による Web プログラミングUbuntu 12.04, 11.10, 11.04 で Android SDK のダウンロードとインストールとテスト実行

Ubuntu 12.04, 11.10, 11.04 で Android SDK のダウンロードとインストールとテスト実行

この Web ページで行うこと.

Android SDK のダウンロードとインストール

  1. 64 ビット Linux では ia32-libs をインストールする

        if [ `arch` = 'x86_64' ]; then
        実行結果 ia32-libs
        fi
    

    ※ ia32-libs のインストール時にエラーが出るときは、/etc/dpkg/dpkg.cfg.d/multiarch が「foreign-architecture i386」のようになっていることを確認する。

  2. Android SDK の Web ページを開く

    https://developer.android.com/sdk/index.html

  3. Linux 版を選ぶ

    クリックするとダウンロードが始まる。

    [image]
  4. 分かりやすいディレクトリで、ダウンロードしたファイルを展開(解凍)

    ダウンロードしたファイルは,分かりやすいところに解凍 (ここでは,/usr/localと書いています).

    cd /usr/local
    sudo tar -xvzof /tmp/android-sdk_r20-linux.tgz
    

    [image]
  5. ファイルの所有者の調整

    sudo chown -R <ユーザ名> /usr/local/android-sdk-linux
    
  6. Android SDK and AVD Manager の起動

    cd /usr/local
    cd android-sdk-linux
    sudo ./tools/android
    

    [image]

    [image]
  7. インストールしたいパッケージを選択し,インストールを開始

    ◆ 下の実行例では,Android SDK Platform-toolsAndroid 2.3.3 にもチェックを入れている

    [image]
  8. インストールされるパッケージの確認

    [image]
  9. (オプション) 次のようなメッセージが出たときは,「Yes」をクリックして ADB を再起動する

    [image]
  10. ログの確認
  11. 変数 PATH の設定

    cd 
    echo 'export PATH=$PATH:/usr/local/android-sdk-linux/tools:/usr/local/android-sdk-linux/platform-tools' >> .bashrc 
    

コマンドを使って,エミュレータを起動してみる

  1. もし Eclipse を起動しているなら,混乱を防ぐためEclipse は終了しておく
  2. コマンドを使って,ddms を起動してみる

    sudo /usr/local/android-sdk-linux/tools/android update adb
    sudo /usr/local/android-sdk-linux/platform-tools/adb kill-server
    sudo /usr/local/android-sdk-linux/platform-tools/adb start-server
    /usr/local/android-sdk-linux/tools/ddms
    
  3. 初回起動時には次のようなウインドウが現れることがある.

    [image]
  4. Dalvik Debug Monitor のウインドウが現れる

    [image]
  5. コマンドを使って,Android エミュレータを起動してみる

    cd  /usr/local/android-sdk-linux/tools
    ./android create avd -n hoge -t 1
    ./emulator -avd hoge
    

    [image]

    [image]

OpenJDK 1.7 のダウンロードとインストール

 
  1. ソフトウェアソースの設定

    Ubuntu 12.04 での設定手順例

    sudo add-apt-repository "deb https://archive.canonical.com/ precise partner"
    sudo apt -y update
    

    Ubuntu 11.10 での設定手順例

    sudo add-apt-repository "deb https://archive.canonical.com/ oneiric partner"
    sudo apt -y update
    

    Ubuntu 11.04 での設定手順例

    sudo add-apt-repository "deb https://archive.canonical.com/ natty partner"
    sudo apt -y update
    

    [image]
  2. Java のバージョンの確認

    java -version
    

    ◆ すでに,OpenJDK 1.6.0_24 が使われている場合の実行結果例

    [image]
  3. (オプション) sun-java6 のアンインストール操作

    sudo apt-get -yV --force-yes --purge remove sun-java6-bin sun-java6-fonts sun-java6-javadb sun-java6-jdk sun-java6-jre sun-java6-plugin sun-java6-source
    
  4. OpenJDK 1.7 のインストール
    sudo apt -y update
    sudo apt -y install openjdk-7-dbg 
    sudo apt -y install openjdk-7-demo 
    sudo apt -y install openjdk-7-doc 
    sudo apt -y install openjdk-7-jdk 
    sudo apt -y install openjdk-7-jre
    sudo apt -y install openjdk-7-jre-headless 
    sudo apt -y install openjdk-7-jre-lib 
    sudo apt -y install openjdk-7-source
    
  5. OpenJDK 1.7 を使うように設定

    次のコマンドを実行.し、java-7-openjdk の行の番号を設定する

    sudo update-alternatives --config java 
    

    ◆ 操作手順例

    [image]
  6. 設定の確認

    update-java-alternatives -l 
    java -version 
    

    [image]
 

Eclipse と Eclipse のプラグインのダウンロードとインストール

  1. Eclipse のインストール

    sudo apt -y update
    sudo apt -y install eclipse
    
  2. (オプション) Eclipse 関係のパッケージのインストール

    sudo apt -y update
    sudo apt -y install eclipse-cdt
    sudo apt -y install eclipse-jdt
    sudo apt -y install eclipse-emf
    sudo apt -y install eclipse-emf-examples
    sudo apt -y install eclipse-sdk
    sudo apt -y install eclipse-jdt
    sudo apt -y install eclipse-pde
    sudo apt -y install eclipse-platform
    sudo apt -y install eclipse-platform-data
    sudo apt -y install eclipse-plugin-cvs
    sudo apt -y install eclipse-rcp
    sudo apt -y install eclipse-rse
    sudo apt -y install eclipse-xsd
    sudo apt -y install eclipse-xsd-sdk
    sudo apt -y install pleiades 
    
  3. plieades の設定

    if [ -f /usr/share/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar ]; then 
      echo '-javaagent:/usr/share/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar' | sudo tee -a /usr/lib/eclipse/eclipse.ini 
    fi
    
  4. Eclipse を起動してみる

    端末で「eclipse」

環境設定と起動チェック

環境設定を下記に示す.

  1. Eclipse の起動
  2. ワークスペースの作成

    Eclipseを起動すると,最初の画面で,「ワークスペースの選択 (Select a workspace)」と出る. ここでワークスペースのディレクトリとして設定する.OK を押すと,ワークスペースが作成される.

    [image]
  3. Eclipse で,インストール済みの JRE の確認

    Eclipse で 「Window(ウィンドウ)」→「Preferences(設定)」→「Java」→「Installed JRE(インストール済みのJRE)」

    【インストール済みの JRE】の変更手順

    インストール済み JRE が,下記のように「...java-6-openjdkのようになっている場合には、 OpenJDK 1.7 を使っていないことになるので、手動で設定する.

    [image]

    設定手順は下記の通り.

    1. 「search (検索)」ボタンを押して,「/usr/lib/jvm/java-7-openjdk-i386」 あるいは 「/usr/lib/jvm/java-7-openjdk-amd64」 を設定する
    2. 追加された Java の方にチェックしなおす
  4. (オプション)行番号の表示

    今開いている設定用ウインドウで,「general(一般)」→「Editors(エディタ)」→「Text Editor(テキストエディタ)」

    Show line numbers (行番号の表示)」をチェック

    [image]
  5. (オプション) 文字コード設定

    Eclipseでテキストファイルを扱う場合の文字コードについて,問題があれば,変更できる.

    今開いている設定用ウインドウで,「general(一般)」→「ワークスペース」

    「Text file encoding (テキスト・ファイル・エンコード)」と, 「New text file line delimiter (新規テキスト・ファイルの行区切り文字)」を設定

    [image]
  6. (オプション) Emacs風キーバインド

    今開いている設定用ウインドウで,「一般 (General)」 → 「キー (Keys Modify)」 → 「スキーム(Scheme)」のプルダウンから 「Emacs」

  7. ビルド・パスの確認

    今開いている設定用ウインドウで,「Java」→「Build Path(ビルド・パス)」

    「Source and output folder(ソース及び出力フォルダー)」 で,「Folders(フォルダー)」にチェック されているはず.確認しておく.

    「Source folder name (ソース・フォルダー名)」と「Output folder name (出力フォルダー名)」をここままでもよいし,好きに設定してもよい(何でも良いが,別のディレクトリになるように設定すること).

    [image]
  8. java コンパイラのランレベルの確認

    今開いている設定用ウインドウで,「Java」→「Compiler(コンパイラ)」

    Compiler compliance Level を設定できる。

    [image]

Eclipse ADT (Eclipse のプラグイン Android Development Tools) のダウンロードとインストール

  1. Eclipse を起動 (Start Eclipse)
  2. ヘルプ (Help) → 新規ソフトウェアのインストール (Install New Software ...)
  3. 上右にある「追加 (Add)」 をクリック

    [image]
  4. レポジトリの追加

    次の URL を指定

    https://dl-ssl.google.com/android/eclipse/
    

    [image]
  5. いま追加したレポジトリを指定. 表示されるまでしばらく待つ.

    [image]
  6. 開発ツール (Developer Tools)」 と 「NDK plugins」 をチェックし、「次へ (Next)」をクリック

    [image]
  7. インストール項目の確認

    確認したら「次へ (Next)」をクリック

    [image]
  8. ライセンス条項を確認.同意する場合のみ続行

    [image]
  9. インストールの途中で 「署名なしコンテンツを含むソフトウェアをインストールしている」という確認表示がでることがある.  確認したら「OK」をクリックする.

    [image]
  10. インストールが終わったら, 「今すぐ再起動 (Restart Now)」をクリックして Eclipse を再起動

    [image]
  11. 「Welcome to Android Development」というタイトルのついた 新しいウインドウが現れるので, 「Target」に, Android SDK インストールディレクトリを設定する

    ※ ウインドウが現れない場合には,ウインドウ (Window) → 設定 (Preference) と操作し, 左パネルにある 「Android」を選ぶ

    [image]
  12. (オプション) このとき,Google に統計情報を送信するかの確認表示が出る場合がある.

Eclipse の Android SDK マネージャを起動し,Android SDK がインストール済みであることを確認

  1. インストールされたパッケージの確認

    Eclipse で, ウインドウ (Window) → Android SDK マネージャー (Android SDK Manager) と操作する.

  2. インストールされたパッケージが確認できる

Eclipse で AVD マネージャ (AVD Manager) を用いた設定

AVD マネージャ(AVD Manager) の起動

  1. Eclipse で, ウインドウ (Window) → AVD マネージャー (AVD Manager) と操作する.

AVD の新規作成

  1. AVD を新規に作成したい場合には「新規 (New)」をクリックする
  2. AVD の名前 (Name) や ターゲット (Target) などを設定する.

AVD の開始

  1. AVD を開始したい場合には, 開始したい AVD を選んだ後で,「開始」をクリックする
  2. ※ ユーザデータを消去したいときは「Wipe user data」をチェックする.
  3. 起動」をクリックすると、AVD が開始する.

Eclipse で Android プロジェクトを作成してみる

  1. Eclipse の起動
  2. ファイル (File)」 → 「新規 (New)」 → 「プロジェクト (Project)」 と操作する

    [image]
  3. Android プロジェクト (Android Project) を選ぶ

    [image]
  4. プロジェクト名を設定する

    [image]
  5. ビルド・ターゲットを設定する

    [image]
  6. パッケージ名などを設定する

    [image]
  7. まずは,実行してみる

    プロジェクトを右クリックし, 「実行 (Run)」 → 「Android アプリケーション (Android Application)

    [image]

    しばらく待つと, エミュレータの画面に 「Hello World, ...」というようなメッセージが現れる.

    [image]
  8. アクティビティの Java ファイルを書き換えてみる

    [image]
  9. 再度,実行してみる

    プロジェクトを右クリックし, 「実行 (Run)」 → 「Android アプリケーション (Android Application)

    [image]

    実機の接続に関する設定

  10. udevadm の設定

    使用する Android 機器の設定を行う.

    関連する外部ページ】: https://developer.android.com/tools/device.html#Vendorid

    ◆ <Sony Ericsson の場合の設定手順例

    Vender ID のところ(「0fce」のようになっているところ)は、Android 機器の会社によって変わる値。

    echo "SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fce\", MODE=\"0666\", GROUP=\"plugdev\"" > /tmp/51-android-rules
    sudo cp /tmp/51-android-rules /etc/udev/rules.d/51-android-rules
    
  11. udevadm の設定ファイルの読み込み

    sudo udevadm control --reload-rules
    

    [image]
  12. Android 機器では、次の操作を行う。
  13. Android 機器が接続されていることの確認

    「adb devices」の実行により、接続されている Android 機器のデバイス番号が表示される

    adb devices 
    
  14. (オプション) adb -s <デバイス番号> shell
  15. (オプション) adb -s <デバイス番号> logcat

Eclipse で既存のアプリケーションプログラムをインポートし,動かしてみる

ここでは, 例として「初めての Android」に掲載されているサンプルプログラムを試してみる.
  1. 書籍に記載されている URL からダウンロード
  2. zip ファイルの中にたくさんのディレクトリがある. 確認しておく.

    [image]
  3. Sudokuv4 をインポートしたいので, Eclipse で,「org.example.sudoku」というパッケージ名の Android プロジェクトを作成しておく.

    プロジェクト名は,インポートしたいプログラムの src ディレクトリを見るとすぐに分かる.

  4. Eclipse で,Android プロジェクトを右クリックし,「インポート (Import)」と操作する.

    [image]
  5. ファイル・システム」を選ぶ

    [image]
  6. インポート操作

    [image]
  7. 実行してみる

    プロジェクトを右クリックし, 「実行 (Run)」 → 「Android アプリケーション (Android Application)

    [image]

    しばらく待つと, エミュレータの画面に 数独が現れる.

    [image]

GPS 情報を取得してみる(書きかけ)

package hoge.hoge.com;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.TextView;
import android.location.Location;
import android.location.LocationManager;

public class HelloActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        LocationManager locman = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
        Location loc = locman.getLastKnownLocation(LOCATION_SERVICE);
        double latitude = loc.getLatitude();//緯度
        double longitude = loc.getLongitude();//経度
        
        TextView  tv = new TextView(this);
        tv.setText( "lat: " + latitude + ", long: " + longitude );
        setContentView(tv);
    }
}

JavaScript を使ってみる