ClojureでAndroidアプリの開発

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

leini-droidを使おう

Androidアプリを実装する場合、通常はJavaを使用します。
しかし最近はJavaだけでなく、さまざまな言語での実装が可能になっています。
今回はClojureでAndroidアプリを実装するためのleiningenプラグイン、lein-droidを使用してみましょう。

環境構築方法

今回使用した動作環境は以下のとおりです。

  • OS : MacOS X 10.9
  • leiningen : 2.3.4

なお、Android SDKとleinコマンドを使える状態にしておいてください。
※leiningenはhomebrewでインストールできます

サンプルプロジェクト作成

ホームディレクトリにある、.leinディレクトリのprofiles.cljを次のように編集しましょう。
※なければ作成

;/path/your/home/.lein/profiles.clj
;現在の最新バージョンが0.2.0なのでそれを指定 
{:user {:plugins [ [lein-droid "0.2.0"] ]}}

次に、lein droid newコマンドでプロジェクトを作成します。

%lein droid new <プロジェクト名> <パッケージ名>

生成されたプロジェクトは、すでにAndroidアプリとして実行できる環境が揃っています。
ちなみに、アプリの実装にはClojure用Androidフレームワークである「neko」が使用されています。

プロジェクトを作成したら、<プロジェクト名>/project.cljに:javac-optionsと:sdk-pathを設定しましょう。

・
・
・
  ;;javac-optionsを追加
  :javac-options ["-target" "1.6" "-source" "1.6" "-Xlint:-options"]

  :android {;; Specify the path to the Android SDK directory either
            ;; Android SDKのパスを指定
            :sdk-path "/path/your/Android SDK path"
・
・
・

ビルドやapk作成はそれぞれコマンドでできるのですが、次のようにdoallを使用すれば一度にビルドから実行まで行うことができます。
アプリ実行のための端末を接続した状態で、doallコマンドを実行してみましょう。

% lein droid doall

ビルドされ、ひな形のAndroidアプリが起動しました。
lein-droidを使用するとAndroid + Clojure環境が簡単にセットアップができるので、ぜひ試してみてください。

参考サイトなど