🐘

JitPack.ioでAndroidライブラリをビルドできなかった件(Gradle 7.0以上)

2021/10/07に公開

概要

https://github.com/Naaatan/Tachometer

上記のAndroid用タコメーターライブラリを作成し、JitPack.ioで公開しようとしたら、ビルドエラーが発生してしまったのでこれを改善します。

Githubと連携したらすぐ公開できるでしょとか思ってたら、ちょっと甘かったです。
少しだけ、イジる必要がありました。

発生したエラー

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

ライブラリはAGP7.0を使用してビルドをするので、JDK11が必要です。
https://androidstudio.googleblog.com/2021/03/android-studio-arctic-fox-canary-9.html

JitPackのビルドログを見ると、JVM 1.8.0 なので、ここを修正できれば良さそうです。

Kotlin: 1.4.31
Groovy: 3.0.7
Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM: 1.8.0_252 (Private Build 25.252-b09)
OS: Linux 4.18.0-25-generic amd64

改善

最終的には下記のようにファイルを変更します。
build.gradle についてはJitPack.io Docに丁寧に書いてありました。

Step1. jitpack.yml を追加

プロジェクトのbuild.gradleがあるフォルダと同じ階層にjitpack.ymlを作成し、JDKを指定します。

Step2. ライブラリの build.gradle に追記

JVMを11.0. に変更後もビルドエラーが実は出ていて、下記 warning が原因でした。

WARNING:
Gradle 'install' task not found. Please add the 'maven' or 'android-maven' plugin.
See the documentation and examples: https://jitpack.io/docs/

ライブラリのbuild.gradleにMaven Publishプラグインを使用するための手直しをしました。

まとめ

まずは公式ドキュメントとGithubのIssueを見ましょう!

参考

https://developer.android.com/studio/build/maven-publish-plugin
https://jitpack.io/docs/ANDROID/

Discussion