私は、Hello World Android アプリを scala と intellij で動作させようとしています。同じ偉業を試みた人は、次の手順に精通している必要があります。問題は、sbt を使用しているときに最後に発生します。
私が使用する各ツールのバージョンに注意してください。手始めに、Javaバージョン1.7.0_07を使用しています
-Android SDK をダウンロードしてセットアップします。1.5 (API 3) から 4.1 (API 16) までのすべてのバージョンをダウンロードしました。これについてはこれ以上詳しく説明しません。すでに多くのチュートリアルがあります。
環境変数に Android のホーム パスが必要になります。それでは、現在のユーザーに永続的な環境変数を設定しましょう
gedit ~/.pam_environment
そして今これを追加します: ANDROID_HOME= 例
ANDROID_HOME=/home/pligor/android-sdks
それでは、sbt ツールを取得しましょう。sbt を手動でインストールしたい。リンクで「Unix」セクションを見つけます: https://github.com/harrah/xsbt/wiki/Getting-Started-Setup および sbt-launch.jar をダウンロードし、~/bin に配置します。現在、これはバージョン 0.12.0 です。次に、sbt ファイルを作成します。
gedit ~/bin/sbt
この行を中に書きます:
java -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M -jar `dirname $0`/sbt-launch.jar "$@"
スクリプトを実行可能にします。
chmod u+x ~/bin/sbt
次に、intellij 用の sbt プラグインをインストールする必要があります。sbt-idea バージョン 1.1.0:
gedit ~/.sbt/plugins/build.sbt
行内に append を追加します (各 .sbt ファイルでは、各ステートメントが余分な空行で区切られていることに注意してください):
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.1.0")
github テンプレートの場合は、giter8 ツールが必要です。だから実行:
カールhttps://raw.github.com/n8han/conscript/master/setup.sh | し
そして実行します:
cs n8han/giter8
g8 を使用して、jberkel から Android アプリ テンプレートを取得します。
g8 jberkel/android-app
セットアップについていくつか質問があります。現在、すべてをデフォルトのままにしています。つまり、scala バージョン 2.9.1 と Android 2.3.3 (API 10)、および 1.8.RC1 の scalatest_version を使用しています。これまで使用したことがないため、プロガードに慣れていないため、useProguard を false に設定します。
sbt を実行する前に: android-plugin は現在、sbt の 0.11.3 バージョンと互換性があります。調整が必要です。したがって、新しい Android アプリケーションのフォルダー内で次を実行します: gedit project/build.properties および次の行を挿入します: sbt.version=0.11.3
同じフォルダ内で次を実行: sbt 'gen-idea no-classifiers' compile
次に、sbt インタラクティブ モード コンソールに移動します: sbt
コンソール内で次を実行します: android:package-debug
そして、これらの種類の警告が問題の始まりであると私は信じています: 処理のトラブル: 悪いクラス ファイル マジック (cafebabe) またはバージョン (0033.0000) ... my/android/project/R$id.class の解析中
android:emulator-start # avds のリストを取得するために使用します。例: android:emulator-start android2_3_3
エミュレーターが完全に起動したら、次のように Android アプリを実行します: android:start-emulator
そして、このすべての後、アプリはクラッシュします!!