超详细的Android Studio项目发布到Jcenter喂饭级教程

内容有点长,可以说是喂饭级别的教程

1、注册bintray账号,点击https://bintray.com/进入如下界面,点击红线框中的Sign Up Here.

2、跳转到如下界面后,填写你账号的信息,点击Create My Account按钮(注:下面注册信息中的邮箱一定不要填qq、163邮箱,不然点击Create My Account按钮没有任何反应,最好填写google邮箱,其中google邮箱 如果你要浏览器注册很有可能填写手机验证是会提示该手机号不支持,你可以可以用QQ邮箱app进行注册,这时界面可能和你浏览器一样但是神奇般的居然成功啦 ), 这时就会跳转到发送认证链接到你填写的邮箱,进入邮箱点击登录就可以啦

3、登录bintray成功后点击主页中的Add New Repository,跳转到如下界面填写你要创建的仓库信息。

4、仓库创建成功后根据跳转点击里面的浏览创建的该仓库链接,进入如下界面点击创建一个包。

5、跳转到填写包界面,具体要填写信息如下图,最后填写后好点保存即可

6、获取API Key,按照下图步骤操作再结合提示,复制你的apikey,这个到时候要用到。

7、获取查看个人信息资料,如开发者id、开发者名字、开发者邮箱到时候有用。

 

终于可以进入代码部分了

8、在你项目根目录下的build.gradle文件的buildsript标签中dependencies标签中加入如下两句:

        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'

9、在你要打包发布到bintray上的模块Model库的根目录下新建一个gradle文件,如:updateload_to_bintray.gradle文件,具体内容如下,这文件里面哪些要填写成你自己的信息的地方我都有标明,你按照提示填写就即可:

// 这里添加下面两行代码。
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'

// 定义两个链接,下面会用到。
def siteUrl = 'https://github.com/lxx871695176/MyApp/tree/master/mylibrary' // 项目主页。
def gitUrl = 'https://github.com/lxx871695176/MyApp.git' // Git仓库的url。

// 唯一包名,比如implementation 'groupId:artifactId:version'中的groupId就是这里配置的。
group = "com.liuxx"
 项目名称, 比如implementation 'groupId:artifactId:version'中的artifactId就是这里配置的。
//project.archivesBaseName = "mylibrary"
//项目引用的版本号,比如implementation 'groupId:artifactId:version'中的version就是这里配置的。
version = "1.0.1"

install {
    repositories.mavenInstaller {
        // 生成pom.xml和参数
        pom {
            project {
                packaging 'aar' // 包格式aar、jar
                // 项目描述
                name 'MyLibrary'// 可选,项目名称。
                description 'mylibrary project describe'// 可选,项目描述。
                url siteUrl // 项目主页,这里是引用上面定义好。

                // 软件开源协议,现在一般都是Apache License2.0吧,可以不需要修改。
                licenses {
                    license {
                        name 'The Apache Software License, Version 2.0'
                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    }
                }

                //填写开发者基本信息,填写你bintray网站上个人信息,上面步骤有提过。
                developers {
                    developer {
                        id 'liuxxcoder' // 开发者的id。
                        name 'liuxx coder' // 开发者名字。
                        email 'liuxxcoder@gmail.com' // 开发者邮箱。
                    }
                }

                // 可以不需要修改。
                scm {
                    connection gitUrl // Git仓库地址。
                    developerConnection gitUrl // Git仓库地址。
                    url siteUrl // 项目主页。
                }
            }
        }
    }
}

// 生成jar包的task,不需要修改。
task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
}

// 生成jarDoc的task,不需要修改。
task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    // destinationDir = file("../javadoc/")
    failOnError false // 忽略注释语法错误,如果用jdk1.8你的注释写的不规范就编译不过。
}

// 生成javaDoc的jar,不需要修改。
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}
artifacts {
    archives javadocJar
    archives sourcesJar
}

// 这里是读取Bintray相关的信息,我们上传项目到github上的时候会把gradle文件传上去,
// 所以不要把帐号密码的信息直接写在这里,写在local.properties中,这里动态读取。
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
    // Bintray网站的用户名,我这里把下面bintray.user这个键的值写在local.properties文件
    user = properties.getProperty("bintray.user") 
    // Bintray网站的的ApiKey,前面步骤有提到,我这里把下面bintray.apikey这个键的值写在local.properties文件
    key = properties.getProperty("bintray.apikey") 

    configurations = ['archives']
    pkg {
        repo = "MyMaven"  //Repository名字 需要自己在bintray网站上先添加
        name = "mylibrary"// 发布到Bintray上的项目名字,你在bintray网站上新建的包名
        userOrg = 'liuxxcoder'//Bintray的组织id,可以填写的你的开发者的id
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = ["Apache-2.0"]
        publish = true // 是否是公开项目。
    }
}
10、在你要打包发布到bintray上的模块Model库的build.gradle文件的末尾(记得添加到末尾哦,不然会报错),引用上面这个updateload_to_bintray.gradle,添加如下一句:
apply from: 'updateload_to_bintray.gradle'

11、在Android studio的Terminal命令输入窗口输入 gradlew install运行后提示BUILD SUCCESSFUL,接着输入gradlew bintrayUpload运行后提示BUILD SUCCESSFUL标明你的模块库已经成功上传到bintray网站了, 其实到这一步,其他人就已经可以用你上传到bintray网站的共享库了。进入到你上传bintray网站下的仓库的包名(一般也是模块共享库)复制仓库地址,具体如下图:

然后在你要应用这个共享库的工程中的项目的build.gradle文件的allprojects标签的repositories标签中加入该库的仓库地址:

maven{ url 'https://dl.bintray.com/liuxxcoder/MyMaven'}
在你要用到这个共享库的model模块的build.gradle中的dependencies标签添加如下依赖:
implementation 'com.liuxx.publishlibrary:PublishLibrary:1.0.1'
这样别人就可以用你的这个代码库拉。

12、如果嫌麻烦,不想让用你这个共享库的人每个人都要到项目的跟目录的build.gradle中添加你的bintray仓库地址才能用,那就要把你的这个共享库发布到jcenter上啦。

来到你的bintray网站上刚才你库上传的仓库(比如我的是MyMaven)下的包(比如我的是mybrary)页面后,点击下图的Add to Jcenter

点击Add to Jcenter后弹出如下框,勾选host my snapshot..., 点击发送就等着收到Jcenter网站的审核邮件通知吧

如果收到如下邮件,那么恭喜你已经上传Jcenter网站成功啦

完整项目下载地址:百度网盘下载链接:https://pan.baidu.com/s/1JsPhc3WBi2h1MdiCCiV3XA  提取码:xmfc

完整项目csdn的下载链接:https://download.csdn.net/download/liu_xi_xin/12356427

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值