Android Studio試してみたよ

昨晩、Java Day Tokyoの補足エントリ書かないとと思いつつも早々に寝ちゃって、朝起きたらTLがIntelliJやらJetBrainsで埋まってた。「すわ何事か!?」と思ってみたら、GoogleさんがAndroidの開発ツールにIntelliJベースの「Android Studio」を発表したらしい。
Download Android Studio and SDK tools


うむ、世界は一晩あれば変わっちゃうんだな。「IntelliJベース」と聞いたら黙ってもられず、ついつい調べちゃったので、いったんまとめときます。

IDEA13ベースっぽい

時を同じくしてIntelliJも次期バージョンのEAPが開始されてた。
IntelliJ IDEA 13 Early Preview is Out | IntelliJ IDEA Blog


IDEA13 EAPのビルド番号が 130.555、Android Studioが 130.77228 だったので、おそらくはIDEA13ベース。Hector爺さんやAnalyzeメニューがあることから、Community EditionじゃなくてUltimate Editionをベースにしてそう*1Googleさん太っ腹w



公式見解は、あれでもCommunity Editionベースなんだって。



(追記)いやいや待て待て、自分がCEを過小評価してただけだった。


実はCEってできる子だったのね。(追記おわり)


そういえば、Windows版入れたときに思ったんだけど、Android Studioって自身を起動するJREがバンドルされてこないみたいね(ADKは入ってるのに)。JDKが付いてこないIntelliJだって起動用のJREは入ってるのに...と思ったけど、たぶん大人の事情だわ。きっと。:-P

IDEA13との違い

JetBrainsのニュースリリースにあるとおり、プロジェクトウィザードとGoogleクラウドプラグインがあるかないか程度。
IntelliJ IDEA 13 Early Previewリリースのブログポストを翻訳いたしました – 株式会社サムライズム

IDEA13自体がAndroidサポートの強化を謳っているので、Android Studioの実態ってIDEA13のforkじゃなくて、単なるブランディングバージョンなんじゃないかな?(Ultimateから不要な機能削って、Googleブランドなパッケージにしただけって印象を受けた。


Android Studioのバージョンはまだ0.1で、IDEA13のEAPも始まったばかりなので、今後どう変わっていくのか気になるところ。なんとなく、EAPのリリースとAndroid Studioのリリースが同時進行してきそうな予感(だとすると、Android Studioのパブリックリリースも年末になるのかな?


Android部分に限ればプロジェクトウィザード以外はIDEA13と違いがわからなかった。ただ作られるプロジェクトの構造は大きく違う。Android Studioで作ったプロジェクトはIDEA13でも開けるけど、なんかイイ感じじゃない。IDEA12だと大夫ムリ。その代わり、IDEA13で作ったAndroidプロジェクトはAndroid Studioで開けるし、実行もできた(試してないけどIDEA12で作っても大丈夫なんじゃないかな。


仮にIntelliJAndroid Studioが混在する開発チームが居るとしたら、プロジェクトはIntelliJで作って、それを共有したほうが(当面は)問題が少なくていいんじゃないかな。

IntelliJプラグインとの互換性

プラグインマネージャは plugins.intellij.net を見てる。ただリストアップされるプラグインは大夫少ないけど、それはビルド番号のせいだと思う。試しにIdeaVIMとかShifterを直接入れてみたけど、問題無く動いた。


KotlinやScalaを入れてみたけど、うまく動かなかった。そもそもAndroid StudioJava以外の言語で開発させる気があるかどうかもわかんないので、今後稼動するバージョンがリリースされるのかどうかも良くわかんない。


本日の結論

(追記)↓こうは言ったもののCEをすごく過小評価してたんで「窓から投げろ」は言い過ぎだったと今は反省してる(追記おわり)


んでだ、結局のところAndroid StudioもほぼIntelliJなので、IntelliJの流儀やノウハウはまんま使えると思いますよ。


ちなみに、わたしはAndroidの開発経験はまったくありません。


これは大事なこと。


よい子はマネしちゃダメだよ

UltimateからJavaScript系のプラグイン引っこ抜いてAndroid Studioに入れてみたけど「Ultimate以外じゃ動かねーよ」ってゆわれた。:-(
Android StudioAndroidプロジェクトしか作れないけど、IntelliJで作ったJavaプロジェクトは開けるんだ。つい出来心で、Winstoneプラグインいれてサーブレット作ってみたら動いちゃった。(・ω<)テヘペロ☆



ビルドがgradleベースなので、Android StudioにはGroovyプラグインが入ってる。なんで、一応*.groovyファイルを編集できるんだけどビルドはできんかった。このヘンの挙動が多言語対応する気があるのかどうか不安にさせるのよね。



ps.
ちなみに、このニュース。正規代理店にもナイショだったみたい。(´・ω・`)カワイソス


*1:Structural Search&Replaceは未確認