分享 library 到 bintray jcenter代码库
来源:互联网 发布:mysql 存储emoji 编辑:程序博客网 时间:2024/05/20 09:46
作用
将library提交到jcenter是为了方便自己通过gradle或maven等构建工具以依赖的方式去线上获取代码库,避免了以往手动导入引用jar、aar、module的麻烦
接下来以一个后台更新apk的library作为例子进行记录
创建Repository
账号注册
https://bintray.com/ 通过邮箱或github等第三方注册登录
create repo
copy apikey(后面会用到)
配置
在根目录下的build.gradle添加两个插件
dependencies { classpath 'com.android.tools.build:gradle:2.2.2' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' }
注意这里两个插件的版本跟Android Studio的gradle版本需对应,否则download不下来,具体请看Github以及google相关官网:
https://github.com/bintray/gradle-bintray-plugin
https://github.com/dcendents/android-maven-gradle-plugin
https://developer.android.com/studio/releases/gradle-plugin.html?hl=zh-cn#updating-plugin
配置library下build.gradle
apply plugin: 'com.android.library'apply plugin: 'com.github.dcendents.android-maven'apply plugin: 'com.jfrog.bintray'android { compileSdkVersion 25 buildToolsVersion "25.0.0" resourcePrefix "apkUpdateService" defaultConfig { minSdkVersion 14 targetSdkVersion 25 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { abortOnError false }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.1.1' testCompile 'junit:junit:4.12'}//上传编译的文件到bintray,使用如下的命令://gradlew bintrayUpload/*library版本*/version = "1.0.0"/*github上的项目主页以及git仓库*/def siteUrl = 'https://github.com/githubBanana/ApkUpdate' def gitUrl = 'https://github.com/githubBanana/ApkUpdate.git'/*maven group ID */ group = "com.xs.versionupdate" install { repositories.mavenInstaller { // This generates POM.xml with proper parameters pom { project { packaging 'aar' /*项目描述*/ name 'apk update Service' url siteUrl /*设置证书s*/ licenses { license { name 'The Apache Software License, Version 2.0' url 'http://www.apache.org/licenses/LICENSE-2.0.txt' } } developers { developer { id 'xs.lin' name 'xs.lin' email 'siushen.lin@gmail.com' } } scm { connection gitUrl developerConnection gitUrl url siteUrl } } } }}task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources'}task javadoc(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) options.encoding = "UTF-8" //添加UTF-8编码方式}task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir}artifacts { archives javadocJar archives sourcesJar}Properties properties = new Properties()properties.load(project.rootProject.file('local.properties').newDataInputStream())bintray { user = properties.getProperty("bintray.user") key = properties.getProperty("bintray.apikey") configurations = ['archives'] pkg { repo = "apk-update-service" //对应bintray账号上的仓库名称 name = "apkupdateservice" //发布到JCenter仓库下的项目名字 websiteUrl = siteUrl vcsUrl = gitUrl licenses = ["Apache-2.0"] publish = true }}
配置项目根目录下的local.properties
bintray.user=bintray上的用户名bintray.apikey=bintray上的APIKEY(上面已经copy下来的apikey)
Termial命令行上传项目
1->检查代码的正确性
切换到android studio的terminal,输入gradlew命令
gradlew install
若成功则终端会显示
BUILD SUCCESSFUL
2->编译上传
在terminal输入上传命令
gradlew bintrayUpload
若成功则终端会显示
BUILD SUCCESSFUL
此时便可以到bintray上看前面创建的repo下多了一个package
截止目前为止,已经把本地的library上传到bintray上repo里了,但还不能直接使用依赖,因为还没将package添加到jCenter
发送申请:repo下的package添加到jCenter
https://bintray.com/bintray/jcenter
进入此链接,输入包名 点击include,最后send申请即可
引用依赖
审核通过后,则可通过maven或gradle的方式进行引用
<!-- maven --><dependency> <groupId>com.xs.versionupdate</groupId> <artifactId>apkupdate</artifactId> <version>1.0.0</version> <type>pom</type></dependency>
//gradlecompile 'com.xs.versionupdate:apkupdate:1.0.0'
BUG
在上传项目时(gradlew bintrayUpload)报错:
解决 –> 把build.gradle的repo名称改成跟bintray账号上的repo仓库名称对应即可
- 分享 library 到 bintray jcenter代码库
- 新版Bintray网站发布Library到JCenter
- 使用 bintray 网站发布 library 到 jcenter
- 新版Bintray-极简上传Library到JCenter
- 新版Bintray-极简上传Library到JCenter
- 将Library分享到JCenter教程
- Android Library上传到GitHub并一键发布到Bintray或JCenter
- Android Studio发布JAR包(Android Library)到 jcenter (bintray)
- 新版Bintray-极简上传Library到JCenter,可上传自定义maven仓库
- Android Studio发布项目到Bintray jCenter
- 利用bintray-release插件上传到jcenter
- android使用bintray发布aar到jcenter
- AndroidStudio上传项目到Bintray jCenter
- 把Android library分享到jCenter的方法
- Android Studio提交库至Bintray jCenter
- Android 使用bintray将本地库上传到JCenter做maven依赖库
- Android Studio提交库至Bintray jCenter从入门到放弃
- AndroidStuio快速发布开源项目到Jcenter/Bintray
- SQL中create table语句创建数据表
- el表达式输出集合,集合中有对象,对象里还有对象属性
- log4j2基础篇(1)
- 用matlab批量新建和删除文件夹
- 使用NativeLibCompression极致压缩APK文件大小
- 分享 library 到 bintray jcenter代码库
- 别了——我的2016!
- lx001乘法表
- css学习笔记之三栏布局及中间栏自适应
- java基础学习数据结构 九-7
- Window下cpp开发环境搭建: MinGW + Sublime
- Internet Explorer(CVE-2012-1889)暴雷漏洞分析报告【Win7&IE8版】
- 最长公共子序列的问题 (DP)
- SQL中drop table语句删除数据表