破壊的改修が加速している Android Studio 3.0 Beta2

はじめに

Android Studio Release Updates: Android Studio 3.0 Beta 2 is now available

Java8のbuildエラーを直した しか書いてないんだけど、また裏でゴッソリ変わってるっぽい

正直な所 Beta1よりひどくなったかな・・・

な感じで、実際は Java8の補完index周りが強化された感じのよう

動作環境

  • macOS Sierra
  • 16G
  • HDDタイプのiMac
  • AS 3.0-Beta2
  • gradle plugin 2.3.3
  • gradle runtime-4.1-bin

状況(plugin 2.3.3)

一応 Beta1の debug実行時に、BuildTypeフルビルドなバグ っぽい挙動は治ってるみたいですね。

せっかく設定した下記の環境がおじゃん・・

exception-think.hatenablog.com

  • 正直な所、buildは通る
  • ASの起動時に、無効なpluginです と言われてlombok pluginが無効化される
    • Setting>build>Annotation Processerのタブ設定ページを作る //★
  • ビルドは通るが、IDE側で真っ赤になってる*1

★が不正だといわれて無効化される*2

追記検証

provided => annotationProcessser に変更したら動くかどうかあとで検証して見る予定

=> エラーになりました><。認識できません

因みに、gradle plugn 3.0-beta2 だと,下記指定はDSLエラーになる。訳わかんねー

  • provided =>compileOnly

lombok が対応していないのかなー

https://developer.android.com/studio/build/gradle-plugin-3-0-0.html


この頃、wearのNotification連携テストでemuを立ち上げているわけですが、放置しているとたまに固まるんですよね。。*3

  • Emu終了させる
    • ASのIDEスッと自然消滅気味に終了される
  • ASの起動し直し、OpenProject(5-10分放置状態)

あたりになるので、生産性が凄い悪い。

今回から起きてる状態。Projectは複数開けるけど閉じれない状態*4

これもなIDEバグだよな・・。他の方が指摘してないようなんだけど自分の環境だけか??

  1. OpenProject
    1. 補完index作成に5分程度かかる
  2. Gradle Syncボタン押下
    1. 比較的速く終わる*5
  3. buildエラー
    1. 補完情報が消えて(消されて?)真っ赤になる
  4. Gradle Syncボタン押下
    • 真っ赤な表示が消えない
  5. Invalidate Restart が必要
  6. またOpenProjectが終わるまで10分は待たされるのですごいストレス

ただ思ったのが、今回JDK8に関連する修正がゴソっと入っているみたいなので、

JDK7=>JDK8 にすると安定するかもしれない。ココは追加検証してみよう

=> 安定しませんでした><。更によくわかんないエラーが

まあJDK8対応と言っても、LLVMでdex変換エミュレートしてるだけだしね。*6

因みに自分は、これも導入トライしたことあるけど 依存のretrolamdaでファイル参照エラーになって諦めました・・・

github.com


今日AS更新していて凄く悩んだ所1

  • debug実行時のデバイスターゲット/プロジェクトターゲット が切り替わらない
    • 1個だと問題ないんだけど、Emuも含めて複数とかだと完全に駄目
  • logcatが突然でなくなる*7

これに関しては、正直IDEのバグだと思うんだけどどうなんでしょうね〜*8

今日AS更新していて凄く悩んだ所2

  • library projectをいくら変更しても、変更状態が取り込まれない
  • デバッカーで追うと変更前の状態がdecompileされる

という状況で、変更を中々取り込んでくれないんだよな・・・

強キャッシュすぎる・・・。半日ほど潰しました。

具体的な対処(NG)

gradlew clean

or clean project/rebuild project

具体的な対処(OK)

gradlew clean cleanBuildCache

+ Invalidate Restart

で、これを毎回遣ると10分は操作できなくなると・・。勘弁して欲しい。

今の AS3.0Beta2 って1Projectで全てどうにかしろって言う状態なのかな(汗

今更ながら思い出したのが・・

AS 3.0 Canary6 の頃のメモで、不安定化のバグ対応で

  • gradle.proptiles
org.gradle.configureondemand=false
org.gradle.caching=false

あたりしていたのを、Canary7以降で直ったと書いてあったので戻したんだよね。。

ココらへんのオプションをまたfalseにしてみたら安定するかも。要検証


状況(plugin 3.0-Beta2)

状況は以前変わらず。このまま正式版でちゃうのかなー(汗

現状把握しているのは

  • G様ライブラリ以外のUIライブラリを使うとaapt2エラー

これWizで作りたてぐらいのならコンパイル通るんですが、ちょっと複雑なのはNG。

まあJackの初期と同じぐらいの認識でいいのかもしれない

同じプロジェクトを 3.0 plugin-beta2 版に app/build.gradle を差し替えてみると

コンパイル自体は通る。うーん。AS2.3まだつかっている人いると思うんですが

両対応できなかったんですかね?

gfxさんが下記のpluginで両対応していたコミット見たんだけど・・


TLメモ

*1:関数が見当たらない的な

*2:従来のbuildのページに戻される

*3:多分最近HAXMの最新版更新した辺りから

*4:Windowの残像が残る?状態

*5:ここがgradle plugin 2.3.3/JDK7だと動いているか怪しい?

*6:コンパイルは通るけどクラッシュ

*7:結構頻繁

*8:Beta1までは問題なかったのに何直したんでしょう??