プログラミング + アカデミック + 何か面白いこと。 記載されているものは基本的に私が所属する団体とは関係がありません。

  1. プログラミング
  2. 0 view

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

Pocket

目的

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で書きなおしたサンプルプロジェクトが実行できるようになりました!

Pocket

プログラミングの最近記事

  1. sbt1.0.0のインストールとサンプル実行

  2. [機械学習]各種Pythonライブラリ入りの実験用Dockerイメージを作った

  3. [Node.js]バッチスクリプトの書き方

  4. [Play][Scala]PlayFrameworkでリクエスト駆動のバッチを作る

  5. [OpenCV][Ruby]Webページのデザイン崩れ確認の自動化

関連記事

PAGE TOP