2012年8月17日金曜日

pfn/android-sdk-pluginでAndroidのScala開発環境を構築

pfn/android-sdk-plugin とは

jberkel/android-plugin のfork。以下にREADMEの和訳と試してみた時に引っかかった点などを書いてみる。

jberkel/android-plugin との違い

  • jberkel/android-plugin は使うのが非常に難しいようだ
  • 設定のしやすさが pfn/android-sdk-plugin の主な目的
  • 4行の設定と、あとはAndroid標準のプロジェクトレイアウト
コマンド 説明
android:devices デバイス一覧を表示
android:device 以後のコマンドの対象デバイスを選択 選択されない場合、リストの最初のデバイスが対象になる
android:install apkのビルドとインストール
android:run apkのビルドとインストール、実行
  • Eclipseや android create project で作成されたプロジェクトレイアウト を利用
  • 既存の .properties をすべて読み込む
  • jberkel/android-plugin にはあった TR は pfn/android-plugin には存在しない
  • apklib サポートはなし

詳細は New android sbt plugin (works with stock android projects and basic scala projects) - Google Groups および pfn/android-sdk-plugin を参照。

使い方

  1. sbt をインストール
  2. android create project またはEclipseで新しいプロジェクトを作成。
  3. project/plugin.sbt を作成し、以下の内容を記載する
resolvers += Resolver.url("scala-sbt releases", new URL(
    "http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/"))(
    Resolver.ivyStylePatterns)
  
addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "0.3.6") 
  1. build.sbt を作成し、以下の内容を記載する
name := YOUR-PROJECT-NAME

seq(androidBuildSettings: _*)
  1. sbtを実行。利用できるコマンドには例えば次のものがある
コマンド 説明
compile JavaとScalaの全ソースをコンパイル Scalaの場合は自動でProguardにより処理され、そうでなければ手動で有効にできる
android:package-release apkをビルドしてリリースキーで署名(設定済みならば)
android:package-debug apkをビルドしてデバッグキーで署名
android:package package-release または package-debug のどちらか。デフォルトはdebug
  1. package-release で署名をしたい場合は、次の各設定を local.properties などに記述する
key.alias: YOUR-KEY-ALIAS
key.store: /path/to/your/.keystore
key.store.password: YOUR-KEY-PASSWORD
key.store.type: pkcs12 (optional, defaults to jks)

使ってみた感想

  • project.properties, local.properties他を読み込んでくれるので、設定作業が楽
  • jberkel/android-plugin では、 android.support.v4.app.Fragment を継承したクラスがProguardの設定をしてもkeepされず、ClassNotFoundException を吐き続けていつまでも実行できなかったのに対し、pfn/android-sdk-plugin では簡単に通過
  • これから実際に開発で使ってみる

続編: pfn/android-sdk-pluginでAndroidのScala開発環境を構築(2)

0 件のコメント:

コメントを投稿