新しいバージョンの Gradle に基づいた jitpack オープンソース プロジェクトをアップロードする

新しいバージョンのgradleでオープンソースライブラリのコンパイル方法が変わったので、ここに記録しておきます。 

1. 最初のステップは空のプロジェクトを作成することです

 2. これによりアプリプロジェクトが作成されるため、git にアップロードするときにこれは必要ありません。

プロジェクトの settings.gradle ディレクトリにあるアプリ モジュールをコメント アウトすると、アプリ モジュールを手動で削除できます。

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}
rootProject.name = "JitpackTest"
//include ':app'  //注释掉module app
include ':mylibrary'

削除後は、以下に示すようにアプリ モジュールが存在しません。

3. Maven Publish プラグインを mylibrary の build.gradle ファイルに追加します。

 Maven Publish 公式 Web サイトの使用アドレス:

Maven Publish プラグインの使用 | Android 開発者 | Android 開発者

plugins {
    id 'com.android.library'
    id 'maven-publish'   //添加maven publish插件
}

次に、プラグインによってコンパイルされたタスクを追加します。

afterEvaluate {
    publishing {
        publications {
            release(MavenPublication) {
                from components.release
                groupId = 'com.example.mylibrary' //groupId 随便取,jitpack不会使用
                artifactId = 'test'  //test随便取,jitpack不会使用
                version = '1.0.1' //随便取,jitpack不会使用
            }
        }
    }
}

完全な buidle.gradle コードは次のとおりです。

plugins {
    id 'com.android.library'
    id 'maven-publish'
}

android {
    compileSdk 32

    defaultConfig {
        minSdk 21
        targetSdk 32

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
}

afterEvaluate {
    publishing {
        publications {
            release(MavenPublication) {
                from components.release
                groupId = 'com.example.mylibrary' //groupId 随便取
                artifactId = 'test'  //test随便取
                version = '1.0.1'
            }
        }
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.3.0'
    implementation 'com.google.android.material:material:1.4.0'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

4. ローカル コンパイル: コンパイルには gradlew を使用する必要があるため、このパスに切り替える必要があります。

 コンソールで次のコマンドを入力します。

 ./gradlew publicToMavenLocal (./ 現在のパスの下にあります...)

 次の図が表示され、ローカル コンパイルが成功したことが示されます。

 5. プロジェクトを Git ウェアハウスまたはコード クラウドにアップロードします

プロジェクト ディレクトリに切り替えて、次のように入力します。

gitの初期化 

 .git ファイルがすでにローカルに存在する場合は、すでに git が初期化されていることを意味します。

 一部の人は、自分のコンピュータでこのファイルを表示できない可能性があります。これは、ファイル管理で「隠しアイテム」を設定しているためです。ファイルを開いてください:

 「隠しアイテム」にチェックを入れてください

次に、プロジェクトを git に関連付けます。

git リモート追加オリジン (git ウェアハウスのアドレス) 

  ローカルプロジェクトをgitにプッシュする

git Push -u オリジンマスター  

オンラインでのウェアハウスの作成に関して、次の注意事項があります。以下にマークされているボックスをチェックしないことをお勧めします。チェックしないと、デフォルトでメイン ブランチが作成され、ローカルのデフォルトのマスター ブランチと競合します。

5. git を使用してオンラインでリリース パッケージを作成します。[リリース] をクリックします。

新しいリリースのドラフトをクリックします

 

 パッケージ化されたリリースの選択は、そのタグに基づいて行われます。

 

 次に「リリースを公開」をクリックします。

6. jitpack に移動してコンパイルします

ジットパック | JVM および Android ライブラリを公開する

プロジェクトのアドレスを配置します。

 次のアドレスにコピーし、「検索」をクリックしてコンパイルします。

このとき、コンパイル失敗が表示されます。

 赤いログをクリックしてエラーの内容を表示します。

 これは、gradle プラグインには Java 11 バージョンが必要であることを意味します。

上記の問題を解決するには:

mylibrary の build.gradle ファイルに以下を追加します。

コンパイルオプション {
    sourceCompatibility JavaVersion.VERSION_11
    targetCompatibility JavaVersion.VERSION_11
}

 次に、プロジェクト全体のルート ディレクトリに jitpack.yml ファイルを作成し、その中で java11 を設定し、次の内容を追加します。

before_install:
  - sdk install java 11.0.10-open
  - sdk use java 11.0.10-open

jdk:
  - openjdk11

6. git に送信してリリース バージョンを公開します

7. 次に、jitpack で再コンパイルします。ログ プログラミングが緑色になっていることを確認し、コンパイルが成功したことを示します。[Get it] をクリックします。

 使い方を教えてくれます:

 これで、ローカル ライブラリの jitpack ウェアハウスへのアップロードが完了しました。

使用:

 上の図は古いバージョンの Gradle に基づいていますが、新しいバージョンでは次のように jitpack アドレスが追加されています。

 次に、ローカルの依存関係を使用するだけです。

実装「com.github.awoyixiasiquanjia:mylibrary:1.0.1」

依存しているかどうかを確認します。次の図に示すように、正常に依存しています。

 困っている友達が比較できるようにプロジェクトを投稿しました。

GitHub - awoyixiasiquanjia/mylibrary

おすすめ

転載: blog.csdn.net/xueyoubangbang/article/details/127633013