Android studio 使用Gradle发布Android开源项目到JCenter 总结

简介: 1、注册账号     先到https://bintray.com注册一个账号。  这个网站支持 github 账户直接登录的   2、获取  bintray.user  和 bintray.apikey         2.
1、注册账号

    先到https://bintray.com注册一个账号。  这个网站支持 github 账户直接登录的

 

2、获取  bintray.user  和 bintray.apikey 

       2.1:bintray.user 就是你的用户名,注意是用户名,不是邮箱

           在注册的时候会出现这个界面

              

              或者

 

                                                   

 

       2.2 获取 bintray.apikey 

            

 

3、在Android studio 项目中创建一个 library Module  , 这个 Module 的名字 是 ZYJ ,如下

  

 

4、在项目的根目录的 local.properties ( 这个文件是个人隐私 , 利用gitignore忽略这个文件到git ) 文件填写  bintray.user  和 bintray.apikey 

      

 

5、在项目的根目录的 build:gradle 文件里面添加插件 代码 

 

 classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
 classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'

  截图如下 

       

 

6、配置 库文件项目中的 build:gradle 文件,也就是 ZYJ Module  的build:gradle 文件

apply plugin: 'com.android.library'

//配置插件
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'

version = "1.0.0"       //这个是版本号,必须填写

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    resourcePrefix "less_"     //这里随便填

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.0'

}

def siteUrl = 'https://github.com/zyj1609wz'      // 项目的主页   这个是说明,可随便填
def gitUrl = 'https://github.com/zyj1609wz'      // Git仓库的url  这个是说明,可随便填
group = "zyj.com.mylibrary"    // 这里是groupId ,必须填写  一般填你唯一的包名

install {
    repositories.mavenInstaller {
        // This generates POM.xml with proper parameters
        pom {
            project {
                packaging 'aar'
                // Add your description here
                name 'Android BounceProgressBar Widget'     //项目描述
                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 'zhaoyanjun'        //填写开发者的一些基本信息
                        name 'zhaoyanjun'    //填写开发者的一些基本信息
                        email '1643915516@qq.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 {
        repo = "maven"
        name = "ZYJ"    //发布到JCenter上的项目名字,必须填写
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = ["Apache-2.0"]
        publish = true
    }
}

 

7、同步代码 

     

 

8、如果第7步没有问题了,就可以把项目上传到Bintray

     8.1  下载一遍Gradle 

            执行命令  gradlew install

            怎么才能执行上面的命令呢??

         8.1.1、打开Android studio 左下角的  Terminal 

              

       

         8.1.2 在输入框中输入  gradlew install ,然后回车执行 

                 

 

         

        8.1.3 在8.1.2 可能出现的错误 

               错误截图  

 

                      

           

             解决方案 : 在ZYJ Module 的 build:gradle  中添加以下代码              

javadoc {
    options{
        encoding "UTF-8"
        charSet 'UTF-8'
        author true
        version true
        links "http://docs.oracle.com/javase/7/docs/api"
    }
}

   

         8.2   然后执行如下命令(Windows中)完成上传 

                  执行命令  gradlew bintrayUpload 

 

                 

 

9、进入Bintray 网站,如果看到下面这些就代表你上次成功了

       

                 

                  

10、如果看到如下的信息就代表可以把 项目添加到 JCenter  

     

           

 

 

 

     11 、把项目提交到 Jcenter 中              

             

 

                    

 

      提交成功后,等待几个小时,就可以审核通过了。

 

12、审核通过了,如何使用 ?

        在 app Module   的 build:gradle  里面添加 

         compile 'zyj.com.mylibrary:ZYJ:1.0.0'

        注意: 

                  zyj.com.mylibrary:是groupId 

                   ZYJ: 项目名

                   1.0.0:版本号           

         

       

13、如何 删除  bintray.com 里面已经发布的 项目

        

 

                     

 

14、如何发布更新版本

       只需要在发布的时候把 版本号更新,就可以了,发布完成,不需要 add jcenter 操作。等待几个小时,就可以使用新版本了。

        

     

 

相关文章
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
257 1
|
1月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
256 2
|
2月前
|
XML IDE 开发工具
🔧Android Studio高级技巧大公开!效率翻倍,编码不再枯燥无味!🛠️
【9月更文挑战第11天】在软件开发领域,Android Studio凭借其强大的功能成为Android开发者的首选IDE。本文将揭示一些提升开发效率的高级技巧,包括自定义代码模板、重构工具、高级调试技巧及多模块架构。通过对比传统方法,这些技巧不仅能简化编码流程,还能显著提高生产力。例如,自定义模板可一键插入常用代码块;重构工具能智能分析并安全执行代码更改;高级调试技巧如条件断点有助于快速定位问题;多模块架构则提升了大型项目的可维护性和团队协作效率。掌握这些技巧,将使你的开发之旅更加高效与愉悦。
64 5
|
3月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
58 1
|
3月前
|
Android开发
Android Studio: 解决Gradle sync failed 错误
本文介绍了解决Android Studio中出现的Gradle同步失败错误的步骤,包括从`gradle-wrapper.properties`文件中获取Gradle的下载链接,手动下载Gradle压缩包,并替换默认下载路径中的临时文件,然后重新触发Android Studio的"Try Again"来完成同步。
1385 0
Android Studio: 解决Gradle sync failed 错误
|
Java API Maven
Android Jcenter 依赖完整版
Jcenter 依赖完整版 测试环境: github仓库(码云仓库无法依赖)、Jcenter仓库、Android Studio2.2.2、Gradle 2.14.1、TortoiseSVN 1.9.6。
1741 0
|
3天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
8天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
10天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。
|
12天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
【10月更文挑战第35天】在数字化时代,安卓应用的开发成为了一个热门话题。本文旨在通过浅显易懂的语言,带领初学者了解安卓开发的基础知识,同时为有一定经验的开发者提供进阶技巧。我们将一起探讨如何从零开始构建第一个安卓应用,并逐步深入到性能优化和高级功能的实现。无论你是编程新手还是希望提升技能的开发者,这篇文章都将为你提供有价值的指导和灵感。
下一篇
无影云桌面