欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

如何快速将Android库发布到JCenter

发布时间:2024/9/30 Android 60 豆豆
生活随笔 收集整理的这篇文章主要介绍了 如何快速将Android库发布到JCenter 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

将Android库发布到jcenter是为了更方便的引用

一般有以下几个步骤:

  • 新建工程和要发布的module
  • 修改build.gradle
  • 新建仓库
  • library的构建和上传
  • 将library发布到jceter等待审核通过
  • 收到审核结果邮件,引用项目

  • 1. 新建工程和module

    新建工程,并将你要发布的独立成一个module,便于发布

    example:

    这里面新建了lib-db module,我们的目标就是将它达成aar格式并发布到jcenter中

    2. 修改build.gradle

  • project 的build.gradle

    // Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {repositories {google()jcenter()}dependencies {classpath 'com.android.tools.build:gradle:3.1.3'//关键的二行代码必须加上classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files} }allprojects {repositories {google()jcenter()} }task clean(type: Delete) {delete rootProject.buildDir }
  • module的build.gradle

    apply plugin: 'com.android.library' //1、引用插件 apply plugin: 'com.github.dcendents.android-maven' apply plugin: 'com.jfrog.bintray'android {compileSdkVersion 28defaultConfig {minSdkVersion 14targetSdkVersion 28versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}}dependencies {implementation fileTree(dir: 'libs', include: ['*.jar']) } //2、自定义一些属性,这些属性在upload.gradle都会使用到 ext { //发布到bintray上仓库名,执行上传前必须手动创建同名到仓库,否则上传会失败bintrayRepo = 'framework'bintrayName = 'db' //群组idpublishedGroupId = 'com.fzm.db' //发布成库的名称libraryName = 'db' //最好和libraryName保持一致artifact = 'db' //库描述libraryDescription = 'a db library for fzm'siteUrl = 'github project index page'gitUrl = 'github project url'libraryVersion = '0.0.3'developerId = 'developer id'developerName = 'your name'developerEmail = 'xxxx@163.com'licenseName = 'The Apache Software License, Version 2.0'licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'allLicenses = ["Apache-2.0"] } //此处是为了将发布的代码逻辑封装到upload.gradle脚步中去了,这样build.gradle更简洁,代码维护性更高 apply from : 'upload.gradle'

    module name建议和bintrayName、libraryName保持一致

  • upload.gradle

    此脚步文件格式比较固定,可以直接copy即可

    group = publishedGroupId version = libraryVersioninstall {repositories.mavenInstaller {pom.project {packaging 'aar'groupId publishedGroupIdartifactId artifactname libraryNamedescription libraryDescriptionurl siteUrllicenses {license {name licenseNameurl licenseUrl}}developers {developer {id developerIdname developerNameemail developerEmail}}scm {connection gitUrldeveloperConnection gitUrlurl siteUrl}}} }task sourcesJar(type: Jar) {classifier = 'sources'from android.sourceSets.main.java.srcDirs }task javadoc(type: Javadoc) {source = android.sourceSets.main.java.srcDirsclasspath += project.files(android.getBootClasspath().join(File.pathSeparator)) }task javadocJar(type: Jar, dependsOn: javadoc) {classifier = 'javadoc'from javadoc.destinationDir }artifacts {archives javadocJararchives 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 = bintrayReponame = bintrayNamedesc = libraryDescriptionwebsiteUrl = siteUrlvcsUrl = gitUrllicenses = allLicensesdryRun = falsepublish = trueoverride = falsepublicDownloadNumbers = trueversion {desc = libraryDescription}} } javadoc{options{encoding "UTF-8"charSet "UTF-8"} }
  • 3. 新建仓库

    访问https://bintray.com/ -> login -> view Profile -> add new Repository

    注意:
    这里的仓库名称必须和bintrayRepo字段保持一致,此处示例为framework;

    因为我们通过脚步实现上传发布,所以需要用到api key;
    edit Profile -> api key -> 输入密码

    因为api key 属于敏感信息,所以我们存放到本地(local.properties),不要上传到git上

    bintray.user=userName bintray.apikey=your api key

    4. library的构建、上传

    //clean and install ./gradlew clean install upload ./gradlew bintrayUpload

    成功后我们登录官网可以在framework仓库中看到发布的library了

    注意此时该library并没有发布到jcenter中,还差最后一步

    5. 发布到jcenter

    进入自己的library(示例中为db) -> Add to JCenter

    提交申请后只需要耐心等待审核了,审核通过会显示如下,这样你就可以直接引用了

    三种引用方式

    总结

    以上是生活随笔为你收集整理的如何快速将Android库发布到JCenter的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。