課題
Android Stuio 3.5からはProguardよりもR8推奨ってことでR8を有効にした状態で リリースビルドをしようとしたらビルド中にNullPointerExceptionが発生してビルドできなかった。
対応
ググった感じだとOkHTTPを入れているとバージョンによっては発生するらしい。
R8の最新バージョン使えばいけるかな、ということで プロジェクトの build.gragleに以下を追記してみたらビルドが通った
com.android.tools:r8
は com.android.tools.build:gradle
よりも上に書かないといけないらしい(未確認)
kotlinx-metadata-jvm
はR8の依存関係で必要
buildscript { repositories { maven { url 'https://dl.bintray.com/kotlin/kotlinx/' } } dependencies { classpath 'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.0.5.1' classpath 'com.android.tools:r8:1.4.93' classpath 'com.android.tools.build:gradle:3.5.0-beta01' } }
備考
Instant Runを無効にすれば問題が発生しないという意見も見られた。未確認だがリリースビルドするときだけならそちらでも良さそう。