Scala で作る Android ゲームアプリ
Posted on 2015-03-14 by yamauchiScala で Android ゲームを開発する方法を紹介します。 クロスプラットフォーム環境ではないため弊社製品では使っていませんが、 Android のみでアプリ開発をしたい人には役に立つと思います。
開発環境の構築
Scala で Android アプリを開発するには以下のものが必要です。
- JDK (Java Development Kit) 7
Oracleのサイト からインストーラをダウンロードします。
JDK8だと動かないので注意。 - SBT (Simple Build Tool)
Windowsユーザは 公式サイト からインストーラをダウンロードします。
それ以外のユーザはsbt-extras を使いましょう。 - Android SDK
Windows ユーザは 公式サイト からインストーラをダウンロードします。
Mac ユーザは brew でインストールします。
brew install android-sdk
- Android emulator (または Android 実機)
Android SDK 付属のエミュレータは重たいので、Android 実機 か Genymotion を使うのがオススメ。
本記事で使っている Android のバージョンは Android 4.4.2 (android 19) です。 - SDK library のインストール
スタートメニューまたはandroid
コマンドで SDK manager を起動します。
SDK manager で android 19 (または使いたいバージョン) のライブラリ一式をインストールします。
本記事では統合開発環境(IDE)を使わずにテキストエディタで開発をする前提で書いています。
Hello World
上記の開発環境をインストールしたものとします。 Android アプリを動かしてみましょう。
- サンプルアプリのダウンロード
git clone git@github.com:geishatokyo/scalappybird.git
- Android の起動
実機をPCにUSB接続します。もしくはエミュレータを起動します。 - デバイスの割り当て
cd scalappybird
sbt devices
デバイスが発見されていればOK。 - パッケージの作成
sbt android:package
- アプリの実行
sbt android:run
アプリの開発
基本的には MaihThread.scala を編集するだけで開発を進められるように設計してあります。
ソースコードを編集したら sbt android:run
で動作を確認するのを繰り返します。
正常に動作しない時に見直すこと
- Android エミュレータ(または実機)が起動しているか
Android エミュレータ(または実機)が起動していないと、デバイスとして認識されません。
有効なデバイスが認識されない場合sbt android:package
,sbt android:run
のコマンドが正常に実行できません。 - Android OS のバージョン
Android のバージョンが設定ファイルと合っているかを確認します。
Android 4.4.2 (android 19) 以外のバージョンの OS を使う場合には、 build.sbt のplatformTarget in Android := "android-19"
を適切なバージョンに書き換えましょう。
書き換えたあとはsbt clean
を一度実行して環境を更新しましょう。 - JDK のバージョン
JDK8 には対応していない。JDK7 を使いましょう。 - Android SDK のインストール先
ANDROID SDK への PATH に日本語文字列やスペースを含むと動かないことがあります。 日本語文字列やスペースを含まないディレクトリにインストールしなおしましょう。
勉強会情報
上記の内容で 2015-03-14 に 第1回ゲーム開発ハンズオン(in仙台) を行いました。
芸者東京エンターテインメントでは今後も定期的にゲーム開発ハンズオンを各地で行います。よろしくお願いします。