Project Setup Gradle - garsue/libgdx GitHub Wiki

libgdxプロジェクトの作成

libgdxにはgdx-setup.jarというファイルがあります. これは実行可能なUIおよびコマンドラインツールです. JARファイルを実行するだけでセットアップのUIを開きます.

gdx-setup.jarのダウンロード

アプリケーション名、Javaパッケージ名、メインクラス名、出力先ディレクトリ、android sdkのパスを指定してください. 次にサポートしたいプラットフォームを選択してください. **注意: 一度選んだら、新しいプラットフォームの追加はマニュアルで行わなければならなくなります. ** 最後にアプリケーションで利用したいエクステンションを選択してください. ただしいくつかのエクステンションは特定のプラットフォームでしか動作しないため、警告が表示されるかもしれません. すべての設定が終わったら、"Generate"をクリックしてください. これでIDEへのインポート、実行、デバッグ、パッケージングの用意ができました!

setup ui

Creating a libgx project on the command line

コマンドラインによるlibgdxプロジェクト作成

コマンドラインから作成したい場合、下記の引数を指定して実行してください.

  • dir: プロジェクトを作成したいディレクトリの相対パスまたは絶対パス
  • name: アプリケーション名. すべて小文字でマイナスつなぎにするのがよいでしょう. e.g. mygame
  • package: コードが配置されるJavaパッケージ e.g. com.badlogic.mygame
  • mainClass: ApplicationListenerとなるクラス名. e.g. MyGame
  • sdkLocation: android sdkの場所. ANDROID_HOMEが設定されていなければIntellijはここで指定した内容を使います.

Putting it all together, you can run the project generator on the command line as follows: すべて指定することで、以下のようにコマンドラインからプロジェクトを生成することができます.

java -jar gdx-setup.jar --dir mygame --name mygame --package com.badlogic.mygame --mainClass MyGame --sdkLocation mySdkLocation

プロジェクトのレイアウト

This will create a directory called mygamewith the following layout: mygameというディレクトリが以下のようなレイアウトで作成されます.

settings.gradle            <- サブモジュールの定義. デフォルトでは core, desktop, android, html, ios となっています
build.gradle               <- メインとなるGradleビルドファイルです. 依存とプラグインが定義されています
gradlew                    <- Unixシステム上でGradleを実行するスクリプトです
gradlew.bat                <- Windows上でGradleを実行するスクリプトです
gradle                     <- ローカルのGradleラッパーです
local.properties           <- Intellij用のandroid sdkの場所が定義されたファイルです.

core/
    build.gradle           <- coreプロジェクト用Gradleビルドファイルです. 触ってはいけません!
    src/                   <- ゲームのコードのすべてが入っているソースフォルダです.

desktop/
    build.gradle           <- desktopプロジェクト用Gradleビルドファイルです. 触ってはいけません!
    src/                   <- デスクトッププロジェクト用ソースフォルダです. Lwjglランチャクラスが入っています.

android/
    build.gradle           <- androidプロジェクト用Gradleビルドファイルです.  絶対に触ってはいけません!
    AndroidManifest.xml    <- Android固有の設定です
    assets/                <- 画像、オーディオなどが入っています. これらは他のプロジェクトと共有されます.
    res/                   <- アイコンおよびその他のリソースが入っています.
    src/                   <- Androidプロジェクト用ソースフォルダです. androidランチャクラスが入っています.

gwt/
    build.gradle           <- htmlプロジェクト用Gradleビルドファイルです. 触ってはいけません!
    src/                   <- htmlプロジェクト用ソースフォルダです. ランチャとhtml定義が入っています.
    webapp/                <- 生成時に内容のコピー先となるwarのテンプレートです. スタートアップURL indexページとweb.xmlが入っています.


ios/
    build.gradle           <- iosプロジェクト用Gradleビルドファイルです. マゾヒスティックでないかぎり触ってはいけません.
    src/                   <- iosプロジェクト用ソースフォルダです. ランチャが入っています.

Gradleとは

Gradle は依存管理およびビルドシステムです.

依存管理システムを使えばサードパーティのライブラリをソースツリーに含めることなく簡単にプロジェクトに導入できるようになります. 直接ライブラリをソースツリーに含めるかわりに、利用したいライブラリ名とそのバージョンを指定したファイルをソースツリー内に置いて、依存管理システムはそれを利用しています. サードパーティライブラリの追加、削除、変更はその設定ファイルを数行変更するだけで簡単に行えます. 依存管理システムは中央リポジトリ(この場合、Maven Central)から指定したライブラリを持ってきて、プロジェクトディレクトリ外に保存します.

ビルドシステムは特定のIDEに依らず、アプリケーションのビルドとパッケージングを行います. これはIDEを利用できないビルドサーバやCIサーバを利用したいときに特に便利です. それどころかそのビルドサーバは設定済みのビルドシステムを呼び出すことで異なるプラットフォーム向けにビルドすることもできます.

Gradleの場合、依存管理とビルドシステムの両方が連携しています. どちらも同じファイルによって設定されます. 詳細は Dependency management with Gradle と"Packaging"セクションを参照してください.