conocode
このコード
トラブルシューティング

Android gradle に ライブラリ追加したらエラー

Gradle にライブラリを追加したらDexArchiveBuilderException が出るようになってしまったんですけど
Javaのバージョン指定を確認するといいよ

gradle に
compile ‘xxx.xxx.xxx:1.0.xxx’
を追加したら

Error:com.android.builder.dexing.DexArchiveBuilderException: Failed to
process /hogehoge/.gradle/caches/transforms-1/files-1.1/xxx-1.0.xxx/jars/classes.jar
Error:com.android.builder.dexing.DexArchiveBuilderException: Error
while dexing xxx/xxx/XXX.class
Error:com.android.dx.cf.code.SimException: invalid opcode ba
(invokedynamic requires –min-sdk-version >= 26)
Error:Execution failed for task ‘:app:transformClassesWithDexBuilderForDebug’.
> com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process /hogehoge/.gradle/caches/transforms-1/files-1.1/xxx-1.0.xxx/jars/classes.jar
というようなエラーになってしまいました。

調べてみたところ
Java 8 の機能を使っているため、明示的に Java 8 使いたいですよ、と宣言しないといけないようでした。

build.gradle(Module:app) のファイル中で、以下のように android の中に compileOptions
を追加すれば通るようになりました。

 

別件で出た
Static interface methods are only supported starting with Android N
というエラーも上記の対策で消えました