Gradle on the Commandline - garsue/libgdx GitHub Wiki
ここではコマンドラインからアプリケーションの実行する方法と異なるプラットフォーム向けに配布するパッケージの作成方法を説明します.
Contents
- 前提条件
- [環境変数ANDROID_HOMEの設定] (#環境変数android_homeの設定)
- 実行
- [デスクトップでの実行] (#デスクトッププロジェクトの実行)
- [Androidでの実行] (#androidプロジェクトの実行)
- [iOSでの実行] (#iosプロジェクトの実行)
- [HTMLでの実行] (#htmlプロジェクトの実行)
- パッケージング
- デスクトップ向けパッケージング
- Android向けパッケージング
- iOS向けパッケージング
- Web向けパッケージング
- デバッグとよくある問題
- [Gradleタスクが失敗する] (#gradleタスクが失敗する)
- [よくある問題] (#よくある問題)
- [プロジェクトのデバッグ] (#プロジェクトのデバッグ)
環境変数ANDROID_HOMEの設定
コマンドラインの機能を利用する前に環境変数ANDROID_HOMEが有効なandroid SDKの指している必要があります.
Windows: set ANDROID_HOME=C:/Path/To/Your/Android/Sdk
Linux, Mac OS X: export ANDROID_HOME=/Path/To/Your/Android/Sdk
環境変数を設定するかわりに, sdk.dir /Path/To/Your/Android/Sdk
という内容の "local.properties" ファイルを作成してもかまいません.
実行
Gladleを使えばコマンドラインからプロジェクトを簡単に実行ができます. ただ対象プラットフォームを指定したgradlewコマンドを使うだけです.
デスクトッププロジェクトの実行
gradlew desktop:run
上記のコマンドはcoreとデスクトッププロジェクトをコンパイルし, デスクトップスタータを実行します. ワーキングディレクトリはandroidプロジェクトのassetフォルダです!
Androidプロジェクトの実行
gradlew android:installDebug android:run
このタスクはアプリケーションのデバッグ用APKを作成し, 最初に接続したエミュレータか実機にインストールし, メインアクティヴィティを開始します. Android Gradle プラグインがアプリケーションを複数のフレーバ(e.g. debug as above, release, ...)で作成できるため, プロセスは2つのタスクに分かれています. 詳細は Android Gradle Plugin site を参照してください.
iOSプロジェクトの実行
gradlew ios:launchIPhoneSimulator
gradlew ios:launchIPadSimulator
gradlew ios:launchIOSDevice
最初の2つのコマンドはアプリケーションをiPhoneまたはiPadシミュレータで起動します. 最後のコマンドはiosプロジェクトを接続したプロビジョニング設定済みの実機上で起動します. プロビジョニング方法はAppleのドキュメントを参照してください.初回のiOSプロジェクトの実行時, コンパイルに時間がかかることに注意してください. コンパイル時間は2回目以降かなり短くなります.
HTMLプロジェクトの実行
gradlew html:superDev
上記のコマンドはアプリケーションを GWT Super Dev Mode で開始します. このコマンドはJavaコードをJavascriptにコンパイルし, ブラウザから直接デバッグできるようにします. Next, visit: http://localhost:9876
というメッセージが表示されたら, ブラウザを開いて表示されたアドレスにアクセスしてください. "Dev Mode On" ブックマークレットをブラウザのブックマークバーにドラッグしてください. 次に http://localhost:8080/gwt を開いてください. これでアプリケーションはブラウザ上で実行されます! coreプロジェクトでJavaコードを変更した場合, ブックマークレットをクリックして "Compile" をクリックしてください. 変更内容が数秒後に反映されます. アセットを修正したら, 上記コマンドでサーバを再起動する必要があります.
プロジェクトのパッケージング
すべてのプラットフォームは異なる配布形式になっています. このセクションではGradleを使って各配布形式に沿ったパッケージの作成方法を解説します.
デスクトップ向けパッケージング
gradlew desktop:dist
上記コマンドは実行可能なJARファイルを desktop/build/libs/
に作成します. 必要なコードとandroid/assetフォルダにあるアセットはすべて入っていて, ダブルクリックかコマンドラインで java -jar jar-file-name.jar
を入力することで実行できます. 実行する際はJVMがインストール済みでなければなりません. JARはWindows, Linux, Mac OS Xで動きます!
Android向けパッケージング
gradlew android:assembleRelease
上記コマンドは署名なしのAPKファイルを android/build/apk
フォルダに作成します. このAPKファイルを 未確認の提供元からのインストール を許可したAndroid端末にインストールできます. Google Play Storeで配布するためには APKに署名 する必要があります. 上記コマンドで作成したAPKIはすでにリリースモードで, キーツールとjarsignerの手順に従う必要があります.
iOS向けパッケージング
gradlew ios:createIPA
上記コマンドは ios/build/robovm
にApple App Storeで配布するためのIPAを作成します. 詳細はApp Storeで配布する 際のAppleのガイドを参照してください.
Web向けパッケージング
gradle html:dist
上記コマンドはアプリケーションをJavascriptにコンパイルし, 生成されたJavascript, HTML, アセットを html/build/dist/
に置きます. このフォルダの中身を Apache や Nginx といったwebサーバで公開する必要があります. この中身はほかの静的なHTML/Javascriptサイトと同様に扱ってください. Java や Javaアプレットは含まれていません!
Pythonがインストールされているなら, html/build/dist
フォルダの中で以下のコマンドを実行することで配布内容をテストできます.
python -m SimpleHTTPServer
ブラウザで http://localhost:8000 を開くとプロジェクトが動作してることが確認できます.
デバッグとよくある問題
Gradleタスクが失敗する
Gradleを呼び出した際, ビルドまたはリフレッシュが失敗したら, 詳細な情報を表示するために同じコマンドをもう一度, 今度はコマンドライン引数として --debug をつけて実行してください.
e.g
./gradlew tasks --debug
This will provide you with a stacktrace and give you a better idea of why gradle is failing.
これでスタックトレースを表示したり, Gradleが失敗したさらなる手がかりが得られるでしょう.