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

来源:http://www.cnblogs.com/xqxacm/archive/2017/11/15/7840381.html
-Advertisement-
Play Games

我們經常使用github上的開源項目,使用步驟也很簡單 比如: 這裡就學習一下如何將自己的類庫做出這種可以供他人使用的開源項目。 一、Android studio項目準備 這時候我們想寫了一個自定義控制項,想要傳到github上讓別人使用。 1、先在該項目下創建一個Module 2、選擇Android ...


我們經常使用github上的開源項目,使用步驟也很簡單

比如:

compile 'acffo.xqx.xwaveviewlib:maven:1.0.0'

這裡就學習一下如何將自己的類庫做出這種可以供他人使用的開源項目。

 

一、Android studio項目準備

 

  這時候我們想寫了一個自定義控制項,想要傳到github上讓別人使用。

  1、先在該項目下創建一個Module

   

  2、選擇Android Library

   

    3、填寫類庫名稱

  

  4、此時的目錄結構

  

  註意,開源出去的是library類庫,所以需要在類庫中寫自定義控制項或者其他代碼,而不是在app目錄下

 

  5、創建一個自定義控制項View

  

  

  6、在app目錄下 寫使用該類庫的相關示例代碼 ,讓app依賴該類庫

  

 

  

  二、Bintray準備

  1、首先創建一個Bintray賬號,註冊地址 https://bintray.com/signup/oss 註意這是個人賬號註冊,很多文章給的鏈接是公司賬號註冊。

     有個註意點:郵箱不能是163的 也許還有別的也不能使用,建議使用谷歌的gmail郵箱。

  

  2、創建找好成功之後,選擇創建組織

  

  可以看到已經創建好的組織

  

  3、選擇進入一個,比如我進入xqxlibrary組織 ,然後界面如下,再繼續點擊創建倉庫

  

  

   4、創建倉庫界面如下

  

   創建完成之後可以看到xqxlibrary組織下多了一個倉庫

  

 

   5、最後我們要記錄一下自己的Bintray用戶名 和 API Key 值,Android studio配置的時候需要

   

    

    複製API Key

 

 三、Android Studio 項目 配置

  1、根目錄下的build.gradle 配置

  在 dependencies{} 中添加

        classpath 'com.novoda:bintray-release:0.3.4'

  在allprojects中添加:

  tasks.withType(Javadoc) {
        options.addStringOption('Xdoclint:none', '-quiet')
        options.addStringOption('encoding', 'UTF-8')
    }

 

最終如下:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath 'com.novoda:bintray-release:0.3.4'
}
}

allprojects {
repositories {
jcenter()
}
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('encoding', 'UTF-8')
}
}

  2、module目錄下的build.gradle 配置

  (1)、最頂端添加代碼

apply plugin: 'maven'
apply plugin: 'com.novoda.bintray-release'

  (2)、Bintray配置資料區

//添加
publish {
    userOrg = 'xqxlibrary'        // 組織名
    groupId = 'acffo.xqx.mycustomview'  //類庫的包名
    artifactId = 'maven'       // 工程名 ,自定義                 
    publishVersion = '1.0.0'         //版本號
    desc = '波浪流動效果' //描述 
    website = 'https://github.com/BestCoderXQX/XWaveView' //github地址  你可以把你的項目push到你的github上 , 項目的地址即這個地址
}

  全部代碼:

apply plugin: 'com.android.library'
apply plugin:  'maven'
apply plugin: 'com.novoda.bintray-release'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    testCompile 'junit:junit:4.12'
}
//添加
publish {
    userOrg = 'xqxlibrary'
    groupId = 'acffo.xqx.xwaveviewlib'
    artifactId = 'maven'
    publishVersion = '1.0.0'
    desc = '波浪流動效果'
    website = 'https://github.com/BestCoderXQX/XWaveView'
}
View Code

 

  四、執行Gradlew命令語句

gradlew clean build bintrayUpload -PbintrayUser=a463674420 -PbintrayKey=6f5e4e11d2d253a2d4************** -PdryRun=false

  解釋如下:

gradlew clean build bintrayUpload 
-PbintrayUser=a463674420 (這裡是網站頭像旁邊對應的帳號,有可能跟網址上面的不一樣,一定要區分好)
-PbintrayKey=6f5e4e11d2d253a2d4************** (這個是上面讓大家複製保存下來的API key-PdryRun=false(如果是false那麼就會真實提交,如果是true不會去進行真實提交,但是會編譯,可以去查看是否編譯通過在提交)

   執行到SUCCESSFUL 即表示成功了。

 

    

  五、提交審核

  找到建的組織下的倉庫 , 會發現 多了一個package

  

   點擊進入 ,點擊右側的"Add to JCenter"即可提交審核 ,用的時候點擊左下側的'Gradle'即可

   

 

   


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 下麵總結一下js中時間戳與日期格式的相互轉換: 1. 將時間戳轉換成日期格式: 註意:如果是Unix時間戳記得乘以1000。比如:PHP函數time()獲得的時間戳就要乘以1000。 2. 將日期格式轉換成時間戳: 以上三種獲取方式的區別: 第一、第二種:會精確到毫秒 第三種:只能精確到秒,毫秒用0 ...
  • 1、二級制操作優於Math 如: 2、慎用|| 大量運用if(x null){ x={} } 優於x=x||{} 3、switch 性能優於if...else if... ...
  • 這篇文章主要介紹了jQuery學習筆記之Ajax用法,結合實例形式較為詳細的分析總結了jQuery中ajax的相關使用技巧,包括ajax請求、載入、處理、傳遞等,需要的朋友可以參考下 本文實例講述了jQuery學習筆記之Ajax用法。分享給大家供大家參考,具體如下: 原文鏈接:https://yq. ...
  • 貪吃蛇的經典玩法有兩種: 第一種是筆者小時候在掌上游戲機最先體驗到的(不小心暴露了年齡),具體玩法是蛇吃完一定數量的食物後就通關,通關後速度會加快;第二種是諾基亞在1997年在其自家手機上安裝的游戲,它的玩法是吃到沒食物為止。筆者要實現的就是第二種玩法。 MVC設計模式 基於貪吃蛇的經典,筆者在實現 ...
  • 使用chrome瀏覽器選擇記住密碼的賬號,輸入框會自動加上黃色的背景,有些設計輸入框是透明背景的,需要去除掉這個黃色的背景; 方法1:陰影覆蓋 由於是設置顏色覆蓋,所以只對非透明的純色背景有效; 方法2:修改chrome瀏覽器渲染黃色背景的時間 完美解決 ...
  • activity生命周期知識點整理 Activity: 是一個應用組件,用戶可與其提供的屏幕進行交互。視窗通常會充滿屏幕,但也可以小於屏幕並浮動在其他視窗之上。 一個activity的什麼周期: 啟動運行狀態( onCreat() onStart() onResume() ) 暫停狀態( onPau ...
  • 1.發簡訊 頭文件 頭部代理 發送信息 代理方法實現 2.撥打電話 3.發送郵件 4.發送QQ消息 ...
  • 今天博客的內容就系統的討論一下Masonry對FSP的影響,以及如何更好的使用Masonry。如果你對iOS開發足夠熟悉的話,那麼對Masonry框架應該不陌生。簡單的說,Masonry的誕生讓AutoLayout的使用更為優雅,讓控制項的佈局更為方便。使用辯證的觀點來看一個事物的話,凡事都有兩面性, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...