[Android][Scala][Windows7]ScalaでAndroidアプリを作る

目的

JavaよりScalaの方が個人的に開発しやすいので
ScalaでAndroidアプリを作成できるようにしてみる。
本当はUbuntuでやりたかったけれど、VirtualBoxからUSBで接続したAndroidが認識できなかったためWindowsで。

0. JDKのインストール

以下のURLから「Java SE Development Kit」をダウンロードしてインストールする。
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 環境変数”path”に以下を加える。
C:\Program Files\Java\jdk1.7.0_51\bin;

1. Scalaのインストール

以下のURLからScalaをダウンロードしてインストールする。
.msiなのでダブルクリックをするだけでインストールできる。
www.scala-lang.org/files/archive/scala-2.10.3.msi

2. sbtをインストールする

以下のURLからsbt-launch.jarをダウンロードして、解凍したフォルダを「C:\sbt」に設置する。
http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.1/sbt-launch.jar 次に以下のコードを「C:\sbt\sbt.bat」として保存する。
set SCRIPT_DIR=%~dp0
java -Dinput.encoding=Cp1252 -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M -jar "%SCRIPT_DIR%sbt-launch.jar" %*
そして、以下を環境変数”path”に追加する。
C:\sbt;

3. Android SDKをインストールする

以下のURLからAndroid SDKをダウンロードして、解凍したフォルダを「C:\」に設置する。
http://developer.android.com/sdk/index.html そして以下を環境変数”path”に追加する。
異なるバージョンや32bit版についてはadt-bundle-windowsのフォルダ名を変更する。
C:\Program Files (x86)\scala\\bin;C:\adt-bundle-windows-x86_64-20131030\adt-bundle-windows-x86_64-20131030\sdk\platform-tools;C:\adt-bundle-windows-x86_64-20131030\adt-bundle-windows-x86_64-20131030\sdk\tools;

4. プロジェクトの作成

4-a. Android プラットフォームのインストール

C:\adt-bundle-windows-x86_64-20131030\adt-bundle-windows-x86_64-20131030\SDK Manager.exe
をダブルクリックして起動して、パッケージをインストールする。
ToolsとExtrasは今後便利なので全部、あとは必要なAndroidのバージョンを選択してインストールすれば良い。

4-b. プロジェクトのひな形の生成

以下のコマンドでターゲットを確認する。
$ android list
----------
id: 14 or "android-19"
     Name: Android 4.4.2
     Type: Platform
     API level: 19
     Revision: 2
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
     ABIs : armeabi-v7a
----------
次にプロジェクトのひな形を生成する。
–pathの部分は、今回は適当にデスクトップにしてみる。
$ android create project --target "android-19" --name ScalaTestApp --path "C:\Users\zuqqhi2\Desktop" --activity MainActivity --package org.example.scalatestapp

4-c. Scalaでプロジェクトを書き直す

以下3つのファイルを「scalatestapp」フォルダーの以下に新規作成する。
import android.Keys._

android.Plugin.androidBuild

name := "ScalaTestApp"

platformTarget in Android := "android-18"

run <<= run in Android

install <<= install in Android
sbt.version=0.13.0
addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.0.6")

4-d, MainActivityをScalaに書き直す

package org.sample.scalatestapp;

import android.app.Activity;
import android.os.Bundle;

class MainActivity extends Activity{
  override def onCreate(savedInstanceState:Bundle){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
  }
}

4-e. コンパイル

$ cd scalatestapp
$ sbt
> compile
> android:package-debug

5. 実機にインストール

以下のサイトを参考にUSB接続設定を行ってください。
http://note.chiebukuro.yahoo.co.jp/detail/n128056 USBでパソコンに接続して
「設定」->「端末情報」->「ビルド番号」を7回タップしてください。
そのあと、
「設定」->「開発者向けオプション」->「USBデバッグ」をオン
にしてください。 次に以下のコマンドを実行して認識されていることを確認して下さい。
$ adb devices
List of devices attached
****** device
最後にインストールして実機で確認します。
インストールするには以下のコマンドを実行してください。
adb install -r bin/ScalaTestApp-debug.apk
これで実機でscalaで書きなおしたサンプルプロジェクトが実行できるようになりました!
  よくわかるAndroidアプリ開発の教科書 Android 4.2対応版-【電子書籍】
価格:2,980円(税5%込、送料込)
zuqqhi2

某Web系の会社でエンジニアをやっています。 学術的なことに非常に興味があります。 趣味は楽器演奏、ジョギング、読書、料理などなど手広くやっています。