yan's Handicraft

作成したフリーソフトを公開
Home » scala » sbt,android,scala

sbt,android,scala

6月 29th, 2011 Posted in scala

かなりはまりましたが何とか、Sampleをandroidエミュレータで動作させられました。
はまったのは、sbtでエミュレータにデプロイしようとするとこんなエラーがでたところです。

[info] == SampleProject / reinstall-emulator ==
java.io.IOException: Cannot run program “[android-sdkのホームディレクトリ]\tools\adb”: CreateProcess error=2, ?w?????t?@?

意味がわからなかったのですが、[android-sdkのホームディレクトリ]\tools のディレクトリを覗くと
“adb_has_moved.txt” というファイルがあって

The adb tool has moved to platform-tools/

If you don’t see this directory in your SDK,
launch the SDK and AVD Manager (execute the android tool)
and install “Android SDK Platform-tools”

Please also update your PATH environment variable to
include the platform-tools/ directory, so you can
execute adb from any location.

と書いてあります。
英語が不得意な私ですが、”platform-tools/” に引越ししたということぐらいは
理解できましたので、”platform-tools/”を覗いてみると、”adb.exe” がありました。

対応方法

sbtのプロジェクト以下のファイルを探し回っていると
“SampleProject/project/plugins/src_managed/sbt-android-plugin-0.5.0/AndroidProject.scala”
に、adb のパスが定義されていました。

“AndroidProject.scala”の書き換えを試みるも、プラグインのコンパイル方法がわからず
プロジェクトのscala 自体が、AndroidProjectクラスのサブクラスだったのでこっちをオーバーライドしてみました

override def adbPath = androidSdkPath / “platform-tools” / adbName

sbt で reload の後、
start-emulator でインストールできました

Leave a Reply

*