Android Studio 3.0 Canary2 地雷回避メモ
- はじめに
- 動作環境
- IDE的に変わったとこと
- 地雷1 Device File Exploler
- 地雷2 google()のレポジトリ
- 地雷3 index再作成
- 地雷4 IDE情報を引き継がないとGradle Syncボタンが消える??
はじめに
abc2017sでのfkmさんの発表で
#abc2017s #ABC2017S_T4
— close_yutori (@kimukou2628) 2017年5月28日
layout editor
AS 2.2 ・・大分マシになった
AS 3.0 ・・かなりバグ潰れてる。オススメ
(プレビューなのに相互編集が何故かできる
- kotlin使わなくてもIDE的に使うのはいいよ〜
というお話があり、さわっているのですが、色々と試した時に地雷踏んだので対策的なメモ
情報を整理し直し中(あと追記予定)
動作環境
なんで gradle pluginを最新にしないの?
- kotlinはまだ業務に使ってない
- APTを利用しているプロジェクトでビルドエラーになるため
- excludeとか使いまくっているのですが、新DSLではその書き方側からわからない
- AS 3.0.0-Canary2 では現在のところ、gradle plugin 2.3.2 でも爆速?といわれるInstantRunが使えるため
IDE的に変わったとこと
常用の体感状態
- CPUがファンファン煩くなって激重状態
- gradlew –stopで収まる*1
- 検索は IDEAの最新版に近いので、慣れるとこっちのほうが楽?
- でも以前のは検索した状態で、そのプレビュー上でファイル書き換えられたりしたんだよな・・
がよくある。
layoutPreview
- エラーウインドウがとうとうボタン表示になり、デフォルトで出なくなってます(苦笑
- でも一回押して確認してしまうと off/onしなおすまでエラーウインドウは消せない。なんか微妙
3.0 ならクラスも見れますね
— びな😊 (@bina1204) 2017年5月28日
- layout previewが1回で表示しなかったりがよくある
- previewを一回offにしてonし直すと表示される
地雷1 Device File Exploler
- 開いている状態を常に保持しているみたいで、
android studio 3.0 canary 2
— close_yutori (@kimukou2628) 2017年5月31日
device file exploler
4系端末で使えなくなった
スーパーユーザーリクエストが発行されています
でエラー。
(-ω-)。この機能もエミュレータとか前提?
(os7では実機でもつかえるっぽいが
android studio 3.0 canary 2
— close_yutori (@kimukou2628) 2017年5月31日
device file exploler
dakvikだと使えない
デバイス切替しないと表示がリフレッシュされない
色々ディレクトリとかファイル触ってるとメモリリークして、os(16G)ごと吹っ飛んだ(<=イマココ
で2時間ほどIDEが使えなくなりましたorz
- プロジェクト直下の .idea/.iml 消す
- $Home/Library/Preferences/Android Studio 3.0XXX 消す
- $HOME//Documents/AndroidStudio/DeviceExplorer/deviceId を消す
とか色々やったんですけどね・・
ここらへん何処らへんに情報持ってるんだろう・・。結構怖いわ。。
地雷2 google()のレポジトリ
今回なにげに追加された google() のレポジトリですが、これ一番上にもってくると色々とエラーになるという・・*2
アクセスが凄く重くなる時がある
AS 3.0上で .idea/.imlを消して OpenProjectをした時にハマった現象(use gradle plugin 2.3.+)
maven "https://maven.google.com" or //use gradle runtime 4.0-m2 upper google()
- root/build.gradle (NG)
buildscript { repositories { google()//★ jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.+' classpath "io.realm:realm-gradle-plugin:2.2.1" } } allprojects { repositories { google()//★ jcenter() maven { url "https://jitpack.io" } } }
- root/build.gradle (OK)
buildscript { repositories { jcenter() google()//★ } dependencies { classpath 'com.android.tools.build:gradle:2.3.+' classpath "io.realm:realm-gradle-plugin:2.2.1" } } allprojects { repositories { jcenter() maven { url "https://jitpack.io" } google() //★ } }
依存ライブラリがおかしい?
- 2.3.+指定しているのに、落ちてくるバイナリもおかしいようで、変な依存エラーが出る*4
- 因みに外してから、下記を実行後再度実行すると対応自体いらないのですが・・・?
gradlew clean cleanBuildCache
gradlew --stop
// gradle runtime 4.0-Xベースだと assemble時にしかライブラリをDLしないことが有り
graldew assembleDebug
Conflict with dependency ‘com.google.code.findbugs:jsr305’
- app/build.gradle
dependencies {
androidTestCompile 'com.google.code.findbugs:jsr305:3.0.1'
}
地雷3 index再作成
なんか凄く時間が掛かる・・ AS2.3.2で作業した時の2−3倍以上。
単純な(google sampleとかの)プロジェクト以外はこれ使うの厳しいのではないかと思う
まあ新DSLに書き換えてないから? なのかもしれないけど*5
対策的な話
bin/idea-properties => 指定の位置にコピーしていじる
- じゃないとアップデートが失敗しやすくなる
- idea.max.intellisense.filesize 補完indexサイズ変更用
imai先生に次いで、IDEAが超詳しい著名人の御発言で下記な発言があり
デフォ idea.max.intellisense.filesize=2500
— Shinya Mochida@型 (@mike_neck) 2017年5月11日
今 idea.max.intellisense.filesize=4250
- サイズを 2500 => 5000にしていた
- index作成が終わらない・・プロジェクト開く/Gradle Sync するのに毎回10分以上かかる
- この現象が出始めたのは Canary2から。Canary1はそれはなかった
- サイズ戻してみてもあんまり変わらない
まあ、これもIDEAベースだと毎回index再作成自体がありえない運用なので
無理が来ているんじゃないかとは思うんですが・・
- 試しに 500に変更
- AS2.3.2レベルまで戻る
- 試しに AS2.3.2で開いたときはindex作成がすぐ終わったので実はオススメ?
- 今のところ補完でエラーになるとかはない*6
For Windows: in %USERPROFILE%\.IntelliJIdeaXX or %USERPROFILE%\.IdeaICXX For *NIX: in ~/.IntelliJIdeaXX or ~/.IdeaICXX For macOS: in ~/Library/Preferences/IntelliJIdeaXX or ~/Library/Preferences/IdeaICXX
関連メモ
- Logcatの行数の変更
- idea.cycle.buffer.size=1024 => 2048
地雷4 IDE情報を引き継がないとGradle Syncボタンが消える??
状況だと、このボタン消えると破滅的な気がするんだけどな・・
まったく新規で環境構築してる人はまったりしていないんだろうか??
android studio 3.0 Canary 2
— close_yutori (@kimukou2628) 2017年6月1日
おかしくなったので、Preferenceの設定消して、作り直してるんだけど
>AS2.3から設定を引き継がない
とするとGradleSync ボタンが消滅してて
何気にハマった
将来的にこのボタン消すつもりなんかな?
android studio 3.0 Canary 2
— close_yutori (@kimukou2628) 2017年6月1日
Gradle Syncボタン消えると
何気に下記の環境になるので
まあ開発かなり厳しくなるとおもう、、、https://t.co/ygnOGpG9pk