美文网首页APP端Android开发经验谈Android技术知识
Android Library上传到JCenter仓库最佳实践姿

Android Library上传到JCenter仓库最佳实践姿

作者: 我们都很努力着 | 来源:发表于2019-04-24 18:27 被阅读2次

一、注册

地址:bintray

注册-1
注册-2
这里可以可以选择右面三种方式均可
注册-3
这里注意username这里是你的后期引用名称,要注意规范一下 对应图中的XXXXX
 implementation 'androidx.XXXXXXXXX:appcompat:1.0.2'

填写完相关信息,确认注册即可进入

二、创建存储库

创建存储库-1
创建存储库-2

Name 填写你想起的名称 在引入包对应XXXXX

implementation 'androidx.appcompat:XXXXXXXX:1.0.2'

Type选择Maven
Default Licenses (Optional)这里选择对应的即可 一般是 Apache-2.0
创建成功后 在主页可以看到demo 这个Repository

demo-Repository

三、项目中引入架包

在Project-gradle中的dependencies导入

buildscript {
    repositories {
        google()
        jcenter()
        
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'
        classpath 'com.novoda:bintray-release:0.9'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
    }
}

在你的Module:library中的最末尾增加如下代码

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar']) 
    implementation 'com.android.support:appcompat-v7:28.0.0' 
}
 
apply from: './gradleBintrayPluginConfigurationsUpload.gradle'

在与module:libraryd同级目录下创建gradleBintrayPluginConfigurationsUpload.gradle文件并增加如下内容:

//////////////////////////////////////////////////////////////////////////////////////////
//
// bintray上传方式
//
//////////////////////////////////////////////////////////////////////////////////////////
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'

// 定义参数
def gitUrl = 'https://dl.bintray.com/godfeer/demo'   // Git仓库的url
def groupIdDefined = "com.你的username"
def artifactIdDefined = "你创建的Repository名称"
def versionDefined = "0.0.1"

// 待发布项目的groupId和version。估计是插件做了些后续处理。
group = "$groupIdDefined"
version = "$versionDefined"

// bintray平台信息配置
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
    user = properties.getProperty("bintray.user") // local.properties里设置
    key = properties.getProperty("bintray.apikey") // local.properties里设置
    configurations = ['archives']
    publish = true
    pkg {
        repo = "你的username"  // 必填。bintray平台仓库名,必须已经创建过。
        name = "你创建的Repository名称"  // 必填。仓库里包package的名称,没有的话会自动创建。
        licenses = ["Apache-2.0"] // 首次创建package则必须,否则选填。
        vcsUrl = gitUrl // 首次创建package则必须,否则选填。这里可以填Repository仓库地址例如 :https://dl.bintray.com/xxxxx/demo 这样的格式
        version {
            name = "$versionDefined"
        }
    }
}

// 构件文件信息配置
install {
    repositories.mavenInstaller {
        pom.project {
            groupId "$groupIdDefined"
            artifactId "$artifactIdDefined"
            version "$versionDefined"
            packaging 'aar'

            licenses {
                license {
                    name 'The Apache Software License, Version 2.0'
                    url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                }
            }
        }
    }
}

// 生成sourceJar和javaDocJar
task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
}
task javadoc(type: Javadoc) {
    failOnError false
    source = android.sourceSets.main.java.sourceFiles
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    classpath += configurations.compile
    options.encoding = "UTF-8"
}
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives sourcesJar
    archives javadocJar
}

四、配置上传账户信息

找到你项目中的local.properties文件
在其中增加

bintray.user=你的username
bintray.apikey=

apikey获取如下图

点击头像
这里输入完密码即可复制key
点击复制key到bintray.apikey

五、上传

找到项目中的gradleBintrayPluginConfigurationsUpload.gradle,点击install

执行完成之后在右侧找到Gradle,点击bintrayUpload 控制栏出现successful即上传成功。

如有疑问,请在下方留言。

相关文章

网友评论

    本文标题:Android Library上传到JCenter仓库最佳实践姿

    本文链接:https://www.haomeiwen.com/subject/ghzmgqtx.html