将Android项目发布到Jcenter
2016-11-07 09:53
232 查看
将Android项目发布到Jcenter
意义
项目中开发一个公用的类库每次都用依赖项目的形式很繁琐,所以就尝试着发布到Jcenter, 这样就能支持Gradle一句话依赖使用。准备工作
1. 需要添加的工程 2. 也可以将项目发布到github 3. 需要一个账号 https://bintray.com 这个网址能够申请 如何申请Bintray帐号?注册流程就省略,去网站就一看便知,如果不清楚的可以联系我!
配置项目gradle和local.properties
1、 配置local.properties这里的bintray.user就是申请的账号
apikey就是每个账户下面的Apikey 可以修改
bintray.user=emotiona bintray.apikey=2c1ee3a2d44c1d7659c7a6c741304aa0d0bf2b2e
如下图所示
2、配置工程的build.gradle
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.2' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() mavenCentral() } } task clean(type: Delete) { delete rootProject.buildDir }
3、 配置moudle的build.gradle
具体配置看代码
apply plugin: 'com.android.library' apply plugin: 'com.jfrog.bintray' apply plugin: 'com.github.dcendents.android-maven' //提交到仓库中的版本号 version = "1.0.0" android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { minSdkVersion 9 targetSdkVersion 22 versionCode 1 versionName "1.0" } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:23.3.0' compile 'com.squareup.okhttp3:okhttp:3.2.0' } def siteUrl = 'https://github.com/xiaoshi316/Sobot' // 项目的github主页 def gitUrl = 'https://github.com/xiaoshi316/Sobot.git' // Git仓库的git url group = "com.sobot.library" // 这里是groupId ,必须填写 一般填你唯一的包名 install { repositories.mavenInstaller { // This generates POM.xml with proper parameters pom { project { packaging 'aar' // Add your description here name 'Android for Sobot' //项目描述 url siteUrl // Set your license licenses { license { name 'The Apache Software License, Version 2.0' url 'http://www.apache.org/licenses/LICENSE-2.0.txt' } } developers { developer { id 'emotiona' //填写开发者的一些基本信息 你在Bintray注册的用户名 name 'emotiona' //这里和上面一样 email 'emotiona_xiaoshi@icloud.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)) } 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") //读取 local.properties 文件里面的 bintray.user key = properties.getProperty("bintray.apikey") //读取 local.properties 文件里面的 bintray.apikey configurations = ['archives'] pkg { userOrg="handpay"//组织名称 bintray创建的组织 现在新版本记住要加这个不然会报错(这个没填一直报错) repo = "sobot"//仓库 name = "sobotLibrary" //发布到JCenter moudle的名字名字,必须填写 websiteUrl = siteUrl vcsUrl = gitUrl licenses = ["Apache-2.0"] publish = true } } javadoc { options{ encoding "UTF-8" charSet 'UTF-8' author true version true links "http://docs.oracle.com/javase/7/docs/api" } }
上传项目到Jcenter###
准备工作都做完啦,最后一步就是上传操作了,点击AndroidStudio底部的Terminal* 这里如果你系统配置了gradle的用户环境,输入
gradle install,如果没有配置gradle用户环境,输入gradlew install,如果没有问题,最终你会看到BUILD SUCCESSFUL。
* 如果你看到了生成javadoc时编译不过,那么要看下在gradle中task javadoc下有没有failOnError false这句话,在刚才编写gradle时提示过了。如果加了这句而你的javadoc写的不规范会有警告,你不用鸟它。
* 最后一步,运行
gradle install后看到BUILD SUCCESSFUL后,再输入上传命令
gradle bintrayUpload,等一分钟左右就执行完了,会提示SUCCESSFUL。
当上传之后就等着审核吧,审核过了就能使用了。
相关文章推荐
- Android studio 使用Gradle发布Android开源项目到JCenter 总结
- Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
- Android之发布项目至jcenter
- 使用Gradle发布Android开源项目到JCenter
- 使用Gradle发布Android开源项目到JCenter
- 将Android开源项目通过Gradle发布到bintray/Jcenter
- Android 发布项目到jcenter
- Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
- Android 发布开源项目到jcenter
- Android 发布项目到 jcenter 遇到的坑
- Android 发布项目到 JCenter 遇到的各种坑
- Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
- 一起来学Android Studio:(六)使用Gradle发布Android开源项目到JCenter
- Android studio 发布Android Library项目到JCenter
- Android 发布Android Library项目到JCenter