かなりピーキーかも知れない Android Studio 2.3正式版
動作環境
はじめにお断り書き
自分の作業環境が、富豪環境でないからのための状況の可能性があります。
素晴らしい環境を確保できれば、開発運用的に問題ないかもしれません
AS2.3環境に変更しても問題ないと思われる環境
- 下記の条件のプロジェクト
ただ
Android Studio 2.3でConstraintLayoutが標準になっているから、新規プロジェクト作成時に自動的にダウンロードされるようになってるね
— けいちゃ (@keicha_hrs) 2017年3月3日
な状況らしいので ConstantLayout前提の開発になるのかな?
自分がちょっと触った感じ、RelativeLayout + AbsoluteLayout の間の子?みたいな感じでしたが
作者の方に直してもらった Pleiades の効果は?
いきなり正式版で試すのは怖かったので RC1の段階で再度チャレンジしてみました。
0.5〜1割程度負荷が減ったかなという感じ。
たしかにちょっと軽くなった気がしますがこの状況で開発は厳しいかもです><
多分、他の方々は問題なく動く環境で開発されているんでしょうね・・(遠い目
アプデ直後の状況
- アプデ失敗。
- 起動直後にクラッシュ多発で立ち上がらず
- dmgをまるごと公式から落としてきて上書きしました。
- この環境はOSでいればクリーンインストールに近いはずですよね??
- とりあえず起動はしました
起動後の他のモジュールの更新
- いつものごとく更新地獄。。。
- 半日まず潰れる。。
- バックグラウンド更新のボタンが何故か効かず
- 編集画面が更新モーダルダイアログにロックされるので凄いウザい><
- コマンドラインから更新することに・・
sdkmanager --update
で古いプロジェクトを開く
dagger 使っているプロジェクトが有りまして gradle plugin 2.2で運用していました。
で下記の状態に。。
android studio 2.3
— close_yutori (@kimukou2628) 2017年3月3日
確かに他の方も指摘してるようにinstant run無効にすると劇遅&CPU喰い発生するな。
特に古いversionのgradle pluginでビルドしようとすると有り得ないくらいヤバい。
AS 2.2.3のバイナリ別保持が良さげ
流石に重すぎて何もできないので、急遽解決策を探す。で下記の設定でなんとか 2.3環境を作る
というか、daggerって googleのプロジェクトなのにね。。
AnnotaionProcesserで動かない理由は、APTの実行タイミングが違うから。
Issueにも上がってるはずなんですけどね。。現状 apt pluginのお世話になるしかない。
しかし StackOverFlow でも未解決状態だった回答を持っているとは Kotlin界隈のモヒカン度が凄いわw
//for Dagger2 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' // Dagger2 compile 'com.google.dagger:dagger:2.9' apt 'com.google.dagger:dagger-compiler:2.9' apt 'com.android.databinding:compiler:2.3.0'
とりあえず安定状態になったはずだが?
でやっと午後一ぐらいで
- data-binding
- dagger
- AS 2.3 on InstantRun
環境が構築できたわけです
で Pleiades 適応を再チャレンジしてみる
うわーん>< 3割マシマシ状況(CPU/メモリ)が復活した〜
ソースやlayout.xml上でキーボードでカーソルを動かす度にカックンカックンするので流石にすぐ外しました
でなんとか動かせる状況に復帰
でしばらくアクティビティーモニターを見ながら動かしてみることに。。
android studio 2.3
— close_yutori (@kimukou2628) 2017年3月3日
instant run実行するタイミングでガンガンメモリリークしてるみたいなんだけど、
rc1の時これほど酷くなかったような気がするのは気のせい?
な状態。。
- 1回実行する度に
- 100ー200Mぐらい増えていく勢いで(AS上のメモリが)
- gradleタスクはjavaプロセスとして別途モリモリ
で本体側のメモリがきつくなる度に
gradlew --stop
jkill.sh
- jkill.sh
#!/bin/sh kill -9 `jps -lv | grep -v AppMain | grep -v "AndroidStudio" | grep -v "IntelliJIdea" | grep -v "sdkmanager" | awk '{print $1}'`
あたりをしてクリーンな環境にする感じでした。
ここまで来るとたしかに、まともに動くPCを買うほうがラクかもしれませんね。。
変わっているらしい挙動
自分メモ系
- 署名が違うapkを自動uninstall => installするようになった*3
- release.apkが入っている端末=>debug.apk転送
でもこれ偶にコケてクラッシュする。其の場合は手動でアンインストールが勿論必要。
ただ補完を出そうとする時に、瞬間的にCPUがぐんと上がるのは挙動的に仕方ないのかな?
TLメモ
ビルド関係
ライブラリのバージョン混在を警告するようになったのは賢いしあるべき姿なんだけど、それがどこで定義されてるのかを調査するのすごく難しいんだよね pic.twitter.com/sRYdFbIjZr
— 竹内裕昭 (@takke) 2017年3月3日
=> これgradle wraperを更新すると速くなる のネタな気がするw 以前のバージョンより 2倍2倍 が合言葉みたいだけど、そこまで体感できないんだよな〜gradle 2.14.1 -> 3.3 で clean, APK 生成が 6分8秒 -> 5分15秒に短縮された。まあこれだけ長いと大差ないけど。
— 竹内裕昭 (@takke) 2017年3月3日
data-binding関連
AndroidStudio2.3でDataBindingがおかしい
— すたぜろ (@STAR_ZERO) 2017年3月4日
- GradleSyncをしないとやたら補完が認識しない
- XXXViewDataBindingを参照しているソースが赤くなりがち
とかあるけど、そこら辺のことかな?
試しに 下記のチェックをいれたら上記の現象は緩和されたので、G様社内ではデフォ設定なのかもしれない
- 保存時にバックグラウンドビルド
- build時にGradleSyncを行う
勿論重くなりますけどね・・<汗
Gradle Android plugin 2.3.0だと完全にandroid-apt脱却できるというか逆にandroid-aptがあると動かない。
— FUJI Goro (@__gfx__) 2017年3月4日
apt-plugin の中で使っているaptバージョンとdata-bindingのaptバージョン が差分出ているのかな?
apt-pluginの方はメンテされて無さそうだからありそう。。
plugin形式だと dependenciesのlibraryのexcludeとかできないから難しいよな・・・対処的に
新規プロジェクトテンプレート
Android Studioのウィザードで作ったアプリのテーマ色が青色だから、青色だと安っぽく見えてしまう問題
— プログラミングだけが恋人 (@adakoda) 2017年3月4日
誰か、このサイトの機能、Android StudioのPluginとして作って・・・https://t.co/9TZnn6yFs6
— プログラミングだけが恋人 (@adakoda) 2017年3月4日
新Lintに対して
Gradleで Waiting to acquire shared lock on daemon addresses registry が繰り返しでて終わらん現象が分からん
— すたぜろ (@STAR_ZERO) 2017年3月3日
<= これは自分はBetaあたりの時に踏んでる現象なので。Lint指定を探してdisableしている感じかな の新規Lint対応あたり。Androidのgradle pluginを2.3.0にしてからlintが終わらないっていう現象が解決できないので、戻します
— すたぜろ (@STAR_ZERO) 2017年3月3日
これは未経験。GooglePlayService系で依存しているのかな?android gradle plugin 2.3でAndroid Lint走らせると不可解なエラーでるぞhttps://t.co/EUmMkTp6Om.wearableなんてモジュールなくない????
— せーい.aab (@_yshrsmz) 2017年3月3日
ダウングレードするには
AndroidStudioをダウングレードする方法を誰か教えてくれ
— すたぜろ (@STAR_ZERO) 2017年3月3日
あ、普通にダウンロードできた https://t.co/QT33SZmUeG
— すたぜろ (@STAR_ZERO) 2017年3月3日
なんか Previewサイトが出てリダイレクトされるので、現在は下記
対応策が増えました。できれば、その手の対応はしたくないですけれど。
— 夜歩き@DAZStudio (@sworc) 2017年3月30日
先ほどのダウンロードの場所。
トップ=>PREVIEW=>More download options で確認しました。
でいけるみたい。自分ググってこのページたどり着いたわ・・(苦笑
リンク経由で行けなかったのは内緒><。