IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 基于新版本Gradle上传jitpack开源项目 -> 正文阅读

[移动开发]基于新版本Gradle上传jitpack开源项目

因为新版本的gradle编译开源库的方法已经变了,所以这边记录下?

1.第一步创建一个空项目

?2.因为这样会创建出来一个app项目,我们上传git是不需要这个的,所以我们在

项目中setting.gradle目录下注释掉 app模块,然后就可以手动删除掉这个app模块了。

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'

删除之后如下所示没有了app模块:

3.在mylibrary的build.gradle文件中添加?Maven Publish插件

?Maven Publish官网的使用地址:

使用 Maven Publish 插件 ?|? Android 开发者 ?|? Android Developers

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

然后添加插件编译的Task:

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?publishToMavenLocal? ?(./ 当前路径下的...)

?会显示如下图所以,说明本地 编译成功了

?5.把项目上传到git仓库或者码云

切换到项目目录下输入:

git init?

?如果本地已经存在 .git文件,说明你已经git初始化了

?有些人的电脑可能会存在看不到这个文件,那是因为你文件管理中设置了 “隐藏项目”,打开即可:

?把 “隐藏的项目” 勾上即可

接下来关联git上的项目:

git remote add origin (git 仓库的地址)?

? 将本地的项目推送到git端

git push -u origin master??

关于线上创建仓库,这里提醒一点:最好不要勾选下面标记的,不然会默认给你创建一个main分支,这样会和本地默认的master分支冲突

5. git线上打一个Release包:点击Releases

点击Draft a new release

?

?选择打包Release是基于那个tag的

?

?然后点击 Publise? Release就可以

6.前往 jitpack 上编译

JitPack | Publish JVM and Android libraries

将项目的地址:

?copy到如下地址,点击Look up就编译了

这个时候会显示编译失败:

?点击红色的log日志查看报错内容:

?意思是gradle插件需要java 11版本:

解决如上问题:

在mylibrary的build.gradle文件中添加如下:

compileOptions {
    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 发布一个release版本

7.然后在jitpack上重新编译下:发现log日志编程绿色了,说明编译成功了,点击Get it

?会教我们如何去使用:

?到此就结束了本地库上传到jitpack仓库了。

使用:

?上图是基于老版本的Gradle使用的,新版本如下添加jitpack地址:

?然后再使用的地方依赖就可以了:

implementation 'com.github.awoyixiasiquanjia:mylibrary:1.0.1'

查看是否依赖上:如下图所示即成功依赖上了

?我把项目贴出来,有需要的朋友可以对比下:

GitHub - awoyixiasiquanjia/mylibrary

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:39:30  更:2022-11-05 00:42:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 21:35:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码