把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

相关文章

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

python 线程池顺序执行的方法实现

《python线程池顺序执行的方法实现》在Python中,线程池默认是并发执行任务的,但若需要实现任务的顺序执行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录方案一:强制单线程(伪顺序执行)方案二:按提交顺序获取结果方案三:任务间依赖控制方案四:队列顺序消