【Android】RealmをバージョンアップしようとしたらJava8のエラー
Realmを最新(この時点では5.1.0)にあげようとしたところ、以下のようなエラーが。
Error:Error converting bytecode to dex: Cause: Dex cannot parse version 52 byte code. This is caused by library dependencies that have been compiled using Java 8 or above. If you are using the 'java' gradle plugin in a library submodule add targetCompatibility = '1.7' sourceCompatibility = '1.7' to that submodule's build.gradle file.
いろいろググってみたところ、RealmがJava8依存のコンパイルに変えた事が原因みたい。 Android Studioを3.x にすればこの問題は解決するとのこと。
しかし、自分の開発環境は訳あってAndroid Studio 2.3.3なのだ。。。 そこで最新は諦めてJava8依存前のバージョンまであげることにしました。
(もちろん?)公式サイトには情報がないので、こちらに記載してある内容を参考にしました。
結論:Android Studio2.3.xを使ってる人は、Realm 4.2.0までにしといたほうがいいかも
もちろんRetrolambda等で無理やり最新にする方法はあるようですが、やってみたけど上手くいかず、あとbuild.gradleが汚れまくるので止めときました。特別な事情がない限りは、素直にAndroid Studio3.x を使ったほうが良さそうですね。