Posted at

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

More than 3 years have 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ファイルが作成されず、ただのフォルダ扱いになってしまう。ただのバグであってほしい。