1. 程式人生 > >如何快速將Android庫釋出到JCenter

如何快速將Android庫釋出到JCenter

將Android庫釋出到jcenter是為了更方便的引用

一般有以下幾個步驟:

  1. 新建工程和要釋出的module
  2. 修改build.gradle
  3. 新建倉庫
  4. library的構建和上傳
  5. 將library釋出到jceter等待稽核通過
  6. 收到稽核結果郵件,引用專案

1. 新建工程和module

新建工程,並將你要釋出的獨立成一個module,便於釋出

example:
這裡寫圖片描述

這裡面新建了lib-db module,我們的目標就是將它達成aar格式併發布到jcenter中

2. 修改build.gradle

  1. 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 }
  2. module的build.gradle

    apply plugin: 'com.android.library'
    //1、引用外掛 apply plugin: 'com.github.dcendents.android-maven' apply plugin: 'com.jfrog.bintray' android { compileSdkVersion 28 defaultConfig { minSdkVersion 14 targetSdkVersion 28 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) } //2、自定義一些屬性,這些屬性在upload.gradle都會使用到 ext { //釋出到bintray上倉庫名,執行上傳前必須手動建立同名到倉庫,否則上傳會失敗 bintrayRepo = 'framework' bintrayName = 'db' //群組id publishedGroupId = '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 = '[email protected]' 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保持一致

  3. upload.gradle

    此腳步檔案格式比較固定,可以直接copy即可

    group = publishedGroupId
    version = libraryVersion
    
    install {
        repositories.mavenInstaller {
            pom.project {
                packaging 'aar'
                groupId publishedGroupId
                artifactId artifact
    
                name libraryName
                description libraryDescription
                url siteUrl
    
                licenses {
                    license {
                        name licenseName
                        url licenseUrl
                    }
                }
                developers {
                    developer {
                        id developerId
                        name developerName
                        email developerEmail
                    }
                }
                scm {
                    connection gitUrl
                    developerConnection gitUrl
                    url siteUrl
                }
            }
        }
    }
    
    task sourcesJar(type: Jar) {
        classifier = 'sources'
        from android.sourceSets.main.java.srcDirs
    }
    
    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")
        key = properties.getProperty("bintray.apikey")
    
        configurations = ['archives']
        pkg {
            repo = bintrayRepo
            name = bintrayName
            desc = libraryDescription
            websiteUrl = siteUrl
            vcsUrl = gitUrl
            licenses = allLicenses
            dryRun = false
            publish = true
            override = false
            publicDownloadNumbers = true
            version {
                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

將Android庫釋出到jcenter是為了更方便的引用 一般有以下幾個步驟: 新建工程和要釋出的module 修改build.gradle 新建倉庫 library的構建和上傳 將library釋出到jceter等待稽核通過 收到稽核結果郵件,引用專案

教你輕鬆Android library 釋出JCenter

JCenter是全世界最大的Java倉庫,也是Android Studio中repositories的預設節點。JCenter支援Maven, Gradle, Ivy, SBT 等大部分構建工具。將專案釋出到JCenter大致流程如下: 具體步驟:

如何Android應用釋出到Google Play(Android Market)官方市場

作為一個專業的App開發者網站,竟然沒有一篇講述如何將Android App釋出到Google Play的教程,這不允許出現,現在我們借力開發者的貢獻將本文分享給更多的Android開發者。 還在苦惱於如何釋出應用到Android市場嗎?請跟隨本教程,本教程將教你通過幾個簡單步驟完成釋出應用到Androi

如何快速第三方應用加入到pycharm中

如何加入 很多日常應用一樣,我們需要將第三方庫拖入到我們的開發環境中 開發環境: pycharm python2.7 例如,我們需要將numpy加入到我們的開發環境中,我們需要如,進入 Fi

自己的android 專案釋出jCenter上面去提供給別人(待整理)

參考:https://blog.csdn.net/xuchao_blog/article/details/62893851   註冊Bintray 說到註冊,大家第一時間肯定是想到去官網註冊。但是,現在官網首頁的註冊入口(上面第一張圖)已經變成組織的註冊了,並不是個人註冊。所以

Android如何快速尋找第三方開源Jcenter上的最新版本

首先看一下問題: 問個問題 比如我想找最新的okhhtp compile的最新那句話 compile ‘com.squareup.okhttp:okhttp:2.4.0’ 2.4.0明顯不是最新的 應該怎麼找? 解決方法 先了解compile ‘com.squareup.okhttp:

android開源釋出jcenter圖文詳解與填坑

相信很多人都用過開源專案,特別是android studio普及以後,使用開源庫更方便簡單。而如何上傳開源庫到jcenter供大家方便使用,雖然網上也有教程,但還是遇坑了,最後總結一下,希望可以幫助大家。 AndroidStudio是從Maven

Android項目實戰(三十八):2017最新 AndroidLibrary提交到JCenter倉庫(圖文教程)

success hub rdf fault 用戶 builds style config ocl 我們經常使用github上的開源項目,使用步驟也很簡單 比如: compile ‘acffo.xqx.xwaveviewlib:maven:1.0.0‘ 這裏就學習一下如何

Android專案開源到JCenter兩種方式

前言 開發中,或多或少都會用到無私的程式猿分享的開源專案,Androidstudio中使用開源也很方便 例如家喻戶曉的Rxjava,只需要一句話 compile 'io.reactivex:rxjava:1.1.6',就可以新增到專案中,時間久了,是不是自己也想試試開源一下自己的成果

Vue 元件釋出到 npm

製作了一套自己的元件庫,併發布到npm上,專案程式碼見 GitHub 。 前期準備 有一個npm賬號 安裝了vue-cli 搭建專案 vue init webpack hg-vcomponents cd hg-vcomponents cnpm install 目錄結構 - vu

Android事件匯流排 AndroidEventBus 開源釋出

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Gradle專案釋出到Maven Central

本文主要介紹如何一個由gradle構建的專案部署到Maven Central. 網上大部分都是介紹如何將由maven構建的專案部署到Maven Central。與Gradle相關的比較少。 申請賬號 前往 sonatype申請賬號。 申請完,Create Issue。 按照這個模板填。 這一塊比較

android攝像頭視訊釋出到公網

想用舊android手機作為監控,拍攝家裡的視訊。 1.首先需要 ip攝像頭 這款軟體。這款安卓軟體本身是在區域網中使用的,可以把手機變為攝像頭,也可以播放器他變為攝像頭的手機,他本身是啟動了web伺服器和流媒體伺服器,用來等待其他手機來連結攝像頭。 2.然後需要Qpyt

【譯】在JitPack釋出自己的Android

原文地址:https://www.jitpack.io/docs/ANDROID/ 為了在JitPack上釋出你的Android庫,你只需要在你的Git倉庫中有一個可用的構建檔案。 Android SDK在構建環境中可用,並且在構建開始時已經設定了ANDROID_HOME變數。版本預

Tiki 19.0 釋出元件升級到 Bootstrap 4

   Tiki 19.0釋出了,新版本主要特性如下: 將 Bootstrap 3升級到 Bootstrap 4,在移動裝置上有更好的顯示效果。 將 Font Awesome 4升級到 Font Awesome 5。 將 jQuery S5 到 Reveal.js,讓幻燈

使用Android Studio釋出私有到倉庫中心

介紹 當在我們這行積累到一定程度,都會有自己的一些程式碼庫,這些程式碼被多個專案使用。之前的做法是每次到新的專案中,就會把之前的程式碼拷貝過來,升級一下,或許會把一些純java程式碼打包成jar包檔案,這樣專案中只要引用這個jar包就可以了,但是在Androi

AndroidStudio釋出依賴Jcenter

在這裡只講配置,註冊什麼的自行百度為。了釋出成功大家一定要嚴格按照我這裡配置,且注意看我寫的註釋 PS:Bintray主頁 ,這個網站比較慢最好用VPN,不然能不能進去就看臉了。。如果有不明白可加Q:565265845 這是整個工程 首先配置gradle 4.4 到環境

快速資料寫入PG 當中 Copy 方法 通過python 呼叫

1、在PG庫中建立表 create table sip_sip.tablename ( id bigserial not null, column1 varchar(32), column2 varchar(32) ) 2、 清洗資料整理好格式如下: IP 地址 逗號 IP地址這種

android圖片載入庫Glide4使用教程(專案中如何快速Glide3替換成Glide4)

我想大多數人在自己的專案中還是使用Glide3.7.1這個版本吧!不過Glide版本現在已經到4.4.0了! 當我們把Glide3更換成Glide4,會發現大部分地方都報錯了,那麼該怎樣快速替換Glide3為Glide4呢? 下面我們一起來看看怎樣實現Gli

Android stutio 中怎麼XML中檔案快速findById——Android Layout ID Converter外掛

我們在寫Android佈局檔案時,在XML中寫好佈局,然後會在MainActivity中findById例項化,如果少了還好,但一個佈局有幾十個控制元件呢? 在Android stutio中這些程式碼不必手敲出來的。 這需要用到Android Layou