Android上でANTLR4がこける問題。

GraphQLライブラリのgraphql-javaAndroidで動かそうとしたらANTLR4周りでこけた。

f:id:jmatsu:20160917214736j:plain

dexOptions.preDexLibraries = false で直るよ!とかあったけど試したらエラーが増えたし、これで直るならcleanでも直りそうなもんですよね・・・

結局ANTLR4のバージョンが低くてgui依存周りがこけてるだけだったので、ANTLR4を更新しておけば解決した。

ref: https://github.com/antlr/antlr4/issues/1160

compile('com.graphql-java:graphql-java:2.1.0') {
    exclude group: 'org.antlr'
}
compile group: 'org.antlr', name: 'antlr4-runtime', version: '4.5.3'

でも結局deserializeに利用できそうになく、とりあえず依存から廃した。 一応備忘録的な感じで残しておく。

compile('com.graphql-java:graphql-java:2.1.0')