GoogleAppEngine for Java を AndroidStudio + Gradleで開発環境を作る

  • 11
    Like
  • 0
    Comment
More than 1 year has passed since last update.

GoogleAppEngine for Javaを開発する場合の開発環境をいろいろ調べてたんですが、公式はMaven推しだったり、IntelliJ Community版(無償版)ではGAEのFacetが用意されていなかったりなど、以外とこれっていう構成が見つからず、試行錯誤してみました。結論として、AndroidStudio + Gradle の構成が一番しっくり来たので、その環境構築手順をまとめておきます。
また、恐らくですが、現時点(2016/2/23)では IntelliJ Ultimate もしくは Eclipse が一番GAEJを開発するための環境が整っていると思います。お金に不自由しない方であれば素直に IntelliJ Ultimateを利用するのがベターだと思います。

こんな人におすすめ

  • IntelliJ Ultimateのライセンスが買えない、もしくは買いたくない人
  • IntelliJの開発に慣れてしまっていまさらEclipseに戻りたくない人
  • Gradleに慣れてしまっていまさらMavenに戻りたくない人
  • IDEのデバッガ使えないとつらい人

環境情報

  • MacOSX
  • AndroidStudio1.5.1
  • JDK1.7.0_79

インストール

AndroidStudio

http://developer.android.com/sdk/index.html#top

JDK

http://www.oracle.com/technetwork/jp/java/javase/downloads/jdk7-downloads-1880260.html

プロジェクトの作成

  • File -> New -> New Project からプロジェクトを作成します。

Create_New_Project_と_MyServlet_java_-_GAESample_-___tmp_GAESample_.png

  • いったんここではPhone and Tabletを選択します。

Create_New_Project_と_MyServlet_java_-_GAESample_-___tmp_GAESample_.png

  • Add No Activityを選択

Create_New_Project.png

  • プロジェクトができたら、今度は、File -> New -> New Module を選択し、 Google Cloud Module を選択します。

Create_New_Module_と_GAEJSample_-____AndroidStudioProjects_GAEJSample_.png

  • Module type に App Engine Java Servlet Module を選択します。他は任意です。

Create_New_Module.png

  • 以下の様なディレクトリツリーができます。

GAEJSample_-____AndroidStudioProjects_GAEJSample_.png

  • settings.gradleから'app'を削除して、以下のとおりにします。
include ':backend'
  • app ディレクトリを削除します。これでAndroidに対応する部分がなくなります。
  • backendフォルダを Refactor -> rename で app にリネームします。結果以下のとおりのツリー構造になります。

settings_gradle_-_GAEJSample_-____AndroidStudioProjects_GAEJSample_.png

  • Edit Configurationsから、App Engine DevAppServer -> backendを選択し、以下のとおり設定します。また、Andropid Application -> app は利用しないため、削除しても構いません。

スクリーンショット_2016-02-23_18_24_46_png.png

Run_Debug_Configurations.png

ローカルサーバの起動

Run を実行し、 http://localhost:8080/ にアクセスします。ページが表示されれば問題無いです。またデバッガも使えます。

deploy の実行

Build -> Deploy Module to App Engine... を選択し、 適切な値を設定します。Deploy toには、GAEのProjectIDを指定してください。

Deploy_to_App_Engine_と_settings_gradle_-_GAEJSample_-____AndroidStudioProjects_GAEJSample_.png

これで問題なくAppEngineにDeployされるはずです。

できないこと

  • Cloud Debugging
    • これはIntelliJではプラグイン(Facet?)が用意されているのですが、AndroidStudioでは用意されてないようで。。
  • あとなんかAndroioStudio2.0.0 beta5だと、New Module を実行すると、Moduleのimlファイルが作成されず、ただのフォルダ扱いになってしまう。ただのバグであってほしい。