把Android library分享到jCenter的方法

2023-10-13 12:18

本文主要是介绍把Android library分享到jCenter的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  如果你想在Android Studio中使用如下方法,引入一个library:

  1. dependencies {
  2.     compile 'com.inthecheesefactory.thecheeselibrary:fb-like:0.9.3'
  3. }

  4. jcenter是一个由 bintray.com维护的Maven仓库,那么
  5. 1.注册bintray.com
  6. 2.添加一个maven库(repository)
  7. 3.在新建的maven库中创建一个package(包名字母应该为小写,单词之间用-分割,比如,common-util
  8. 4.编辑project的build.gradle
  9. dependencies {classpath 'com.android.tools.build:gradle:2.1.0'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
    
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

  10. 5.编辑要分享到jcenter的module的build.gradle,添加以下内容
  11. apply plugin: 'com.android.library'
    apply plugin: 'com.github.dcendents.android-maven'
    apply plugin: 'com.jfrog.bintray'
    version = "1.0.0"
    def siteUrl = 'https://github.com/crisHill/common_util'    // 项目在github上的主页
    def gitUrl = 'https://github.com/crisHill/common_util.git' // Git仓库的url
    
    group = "zls.android"
    // 第三方引用这里所分享的library时的格式是 compile 'group:your module name:version'// 这里对应的格式是 compile 'zls.android:commonutil:1.0.0'

  12. install {repositories.mavenInstaller {// This generates POM.xml with proper parameters
            pom {project {packaging 'aar'
                    name 'Common Util for Android project'//项目描述
                    url siteUrllicenses {license {name 'The Apache Software License, Version 2.0'
                            url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                        }}developers {developer {id 'XXX' // 这里的id,name和email可以随便填
                            name 'YYYYY'
    email 'ZZZZZ@AA.com'
                        }}scm {connection gitUrldeveloperConnection gitUrlurl siteUrl}}}}
    }
    task sourcesJar(type: Jar) {from android.sourceSets.main.java.srcDirsclassifier = 'sources'
    }task javadoc(type: Javadoc) {source = android.sourceSets.main.java.srcDirsclasspath += project.files(android.getBootClasspath().join(File.pathSeparator))
    }task javadocJar(type: Jar, dependsOn: javadoc) {classifier = 'javadoc'
        from javadoc.destinationDir
    }artifacts {archives javadocJararchives sourcesJar
    }
    bintray {user = "criscris"
        key = "a71df93f67eec11e0cc94c0f5e701125032d2b0d"
        // 有的文章建议把user和key放到local.properties文件中保存,但是这样实际上可能导致gradle无法成功build
    configurations = ['archives'] pkg { repo = "maven" // 刚刚在bintray创建的maven库的名字
    name = "common_util" // 刚刚创建的maven库的package的名字 websiteUrl = siteUrl vcsUrl = gitUrl licenses = ["Apache-2.0"] publish = true }}

  13. 6.点击Android studio右侧的gradle,打开gradle project
  14. 依次进入 :modulename / Tasks / publishing / bintrayUpload,双击bintrayUpload上传
  15. 7.点击 Add to JCenter,在打开的页面直接点击 Send,向bintray请求把发布的maven package添加到jcenter
  16. 8.如果收到了通过审核的邮件,则可以在Android studio中直接引用以上发布的library
  17. compile 'zls.android:commonutil:1.0.1'
    

更加详细的内容,参考:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0623/3097.html

这篇关于把Android library分享到jCenter的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/203160

相关文章

SpringBoot中使用Flux实现流式返回的方法小结

《SpringBoot中使用Flux实现流式返回的方法小结》文章介绍流式返回(StreamingResponse)在SpringBoot中通过Flux实现,优势包括提升用户体验、降低内存消耗、支持长连... 目录背景流式返回的核心概念与优势1. 提升用户体验2. 降低内存消耗3. 支持长连接与实时通信在Sp

Conda虚拟环境的复制和迁移的四种方法实现

《Conda虚拟环境的复制和迁移的四种方法实现》本文主要介绍了Conda虚拟环境的复制和迁移的四种方法实现,包括requirements.txt,environment.yml,conda-pack,... 目录在本机复制Conda虚拟环境相同操作系统之间复制环境方法一:requirements.txt方法

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求

MySQL 打开binlog日志的方法及注意事项

《MySQL打开binlog日志的方法及注意事项》本文给大家介绍MySQL打开binlog日志的方法及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、默认状态二、如何检查 binlog 状态三、如何开启 binlog3.1 临时开启(重启后失效)

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示