1. 程式人生 > >Android 釋出自己的library到Jcenter

Android 釋出自己的library到Jcenter

開篇宣告

使用Android studio的夥伴知道它可以一行程式碼引入庫

compile 'com.jinguangyue.addwordlib:addwordLib:1.0.0'

我用的時候就好奇這是這麼來的, 要是簡單的話, 那我也能寫個庫給別人引入(用小瀋陽的語調來讀: 要是那樣能行的話, 那我也行), 所以我也嘗試著上傳一個自己的庫, 網上有很多教程, 大家懂的, 自己實踐時候肯定會有其他錯誤的, 這裡我把我在上傳過程中遇到的錯誤總結出來。

申請賬號

Bintray傳送門 這裡我使用github賬號登陸的, 沒有github賬號的趕快申請

生成JavaDoc和source JARs

上傳到Jcenter倉庫需要這倆個東東, 這裡需要android-maven-plugin外掛,所以我們需要在專案的build.gradle, 是最外層的build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
// NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } }

module的build.gradle:

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
//you add apply plugin: 'com.jfrog.bintray' //you add version = "1.0.0" //your version android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' } def siteUrl = 'https://github.com/jinguangyue/AddwordLib' // github project homepage def gitUrl = 'https://github.com/jinguangyue/AddwordLib.git' // github project git group = "com.jinguangyue.addwordlib" //如果你的group 是這樣的 那麼上傳後是這樣的: compile 'com.jinguangyue.addwordlib:addwordLib:1.0.0' //addwordLib:1.0.0 是後面設定(名字和版本號) install { repositories.mavenInstaller { // This generates POM.xml with proper parameters pom { project { packaging 'aar' name 'This is the vertical TextView lib For Android' //這裡是簡單介紹 url siteUrl licenses { license { name 'The Apache Software License, Version 2.0' url 'http://www.apache.org/licenses/LICENSE-2.0.txt' } } developers { developer { id 'jinguangyue' //開發者id name 'jinguangyue' //開發者 名字 email '[email protected]' } } scm { connection gitUrl developerConnection gitUrl url siteUrl } } } } } task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources' } 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() //將User和apikey寫到local.properties中 然後git提交的時候將local.properties忽略掉, 這樣安全 properties.load(project.rootProject.file('local.properties').newDataInputStream()) bintray { user = properties.getProperty("bintray.user") key = properties.getProperty("bintray.apikey") configurations = ['archives'] pkg { repo = "maven" name = "addwordlib" websiteUrl = siteUrl vcsUrl = gitUrl licenses = ["Apache-2.0"] publish = true } }

local.properties:

## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Tue Jun 07 16:03:54 CST 2016
ndk.dir=D\:\\sdk\\ndk-bundle
sdk.dir=D\:\\sdk
bintray.user=Your Name
bintray.apikey=6666666666666(apikey是你登陸了bintray之後點選右上角小三角號 Your profile, 附下面截圖, 然後點選Edit, 之後在最下面會有APIKEY, 複製出來填寫到這裡, over)

這裡寫圖片描述

填寫了這麼久終於要開始測試了, 此時studio會提示你Sync now, 如果你Sync now失敗了要根據錯誤重新檢查你填寫的了

沒有錯誤的話恭喜你, 我們馬上就要接近勝利了!

gradlew install

接下來很重要的一步, 我上傳的時候沒執行這個, 結果一直提示我
Add a POM file to the latest version of your package

一定要執行 gradlew install 這個命令 執行的位置就在:
這裡寫圖片描述

執行的時候你就等著吧, 我執行的前倆次都失敗了, 有這麼倆點原因:
1 我用了中文的註釋, 就是說你的庫裡不能有中文

2 不能有中文數字, 比如1,2,3…., 不能有一, 二, 三….

都刪除掉之後終於可以了, 最後提示build successfull!

build successfull之後我們就得真正的上傳上去了, 就等這一刻呢

gradlew bintrayUpload

也是在Terminal裡面執行gradlew bintrayUpload 執行完成之後重新整理以下bintray介面的Your ProFile裡可以看到:
這裡寫圖片描述

1 package, 點進去…

這裡寫圖片描述

此時你已經上傳成功了, 還差最後一步, 點選進入這個庫, 之後Add to Jcenter:

這裡寫圖片描述

填一些Message 之後Send 即可, 然後我們就等著吧, 過了幾個小時會有郵件發過來, 如果有什麼問題會在郵件裡通知你, 沒有那你的庫就可以用啦!

相關推薦

[Android]釋出自己的專案庫到jcenter

前言 閒來無聊,看到鴻洋大神的Android 快速釋出開源專案到jcenter,在學習和使用bintray-release釋出一般專案到jcenter的過程中,雖然寫的很清晰,但是我還是fail了。重新查了一下別人的教程,決定也寫個簡單說明,步驟其實差不多的,在此做個記錄

Android 釋出自己的library到Jcenter

開篇宣告 使用Android studio的夥伴知道它可以一行程式碼引入庫 compile 'com.jinguangyue.addwordlib:addwordLib:1.0.0' 我用的時候就好奇這是這麼來的, 要是簡單的話, 那我也能寫個庫給

Android Studio Jcenter及釋出自己的開源庫

轉載:https://blog.csdn.net/u013231041/article/details/70174354 AS從哪裡獲取到開源庫 首先我們在使用第三方開源庫時,直接在專案的 gradle 檔案中新增這樣一行程式碼: compile 'com.jakewharton:

【譯】在JitPack釋出自己Android

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

Android studio 自己主動排版

代碼 剪切 ng- 實用 post and ont android track 一開始非常糾結於Android studio怎樣有快捷鍵自己主動排版換行。找了網上非常多的快捷鍵並沒實用。有說ctrl+shift+L的,我試了試全然沒用。只是最後我還是找到了一個最

Android自己定義圓形ImageView(圓形頭像 可指定大小)

代碼實現 err float avi rim war tor pos dsm 近期在仿手Q的UI,這裏面常常要用到的就是圓形頭像,看到 在android中畫圓形圖片的幾種辦法 這篇文章,了解了制作這樣的頭像的原理.只是裏面提供的方法另一個不足的地方就是

Android studio 自己定義打包APK名稱

nts 名稱 code apk conf androi 版本 ant each Android Studio打包應用默認生成的apk名稱是:app-release.apk 、假設我們要讓生成的apk名跟我們版本號包名有聯系的話。那我們就要自己定義生成的apk名了,要

Android釋出開源專案到jcenter

Android釋出開源專案到jcenter 網路上介紹開源專案上傳jcenter的文章很多,按照所寫的步驟一步一步照做了,可是還是不成功,花了接近一個下午的時間,終於搞定了。本文也沒有什麼技術含量,就當做是記錄這個過程。 環境:Android Studio 方式:bint

Cocos2d-x使用過程中遇到的錯誤(VS下開發,移植到Android釋出)(更新ing)

環境:windows7, VS2010, cocos2d-1.0.1-x-0.12.0, cygwin, eclipse, android sdk4.0.3, ndk r7b 在vs上開發,然後移植到android上. 20120718 CCArray的foreach操作: c

jenkins自動化構建android釋出到蒲公英

一.背景需求      目前公司android專案開發工具使用的是android studio,其構建實質是使用Gradle實現構建的,這就如同Eclipse構建使用ant或maven來構建一樣。android studio執行消耗電腦記憶體及CPU非常嚴重,僅構建不

自己的電腦上搭建伺服器,釋出自己的網站(學習之用)

我們平常學習時經常會寫一下javaweb程式,我們為了更能逼近現實,就想著自己的javaweb程式釋出後,外網的同學能夠訪問我們的網站,難道我們去買空間,去買域名嘛,其實也沒必要,我們只是學習,測試之用,在自己的電腦上搭建一個伺服器完全可以滿足要求。上次寫的一篇部落格,PC服務端與Andro

Unity3D 虛擬現實開發(二)-Android釋出設定

大家好!又見面了,下面我們來學習一下,Unity3D移動開發,由於本人沒有Mac蘋果裝置,所以只能用開源的安卓了。如果大家在安卓上執行沒問題,那麼在蘋果機器上也就沒問題。蘋果的釋出流程就自己查找了。 一、安卓的裝置釋出首先要設定JDK及安裝 androidSDK、NDK。  

前端Tips: 建立, 釋出自己的 Vue UI 元件庫

建立, 釋出自己的 Vue UI 元件庫 前言 在使用 Vue 進行日常開發時, 我們經常會用到一些開源的 UI 庫, 如: Element-UI, Vuetify 等. 只需一行命令, 即可方便的將這些庫引入我們當前的專案: npm install vuetify // or ya

Android編譯自己的程序到/system/bin

als 靜態 nts product false targe tab libs ear 背景 有時候我們想創建一個程序,放在系統中,供其他APP執行。我們知道,在生成system.img的時候,編譯系統會將out/target/product/[product]/syste

Inm小程式商店 - 釋出自己的小程式

簡介 Inm小程式商店 是一個分類齊全且清晰的微信小程式商店, 收錄最新最全的小程式, 彙集各行各業的小程式, 可以在這裡輕鬆找到想要的小程式, 因此深受使用者的喜愛。 Inm小程式商店 也深受個人開發者的喜愛, 許多個人開發者往往做了一個優秀的小程式, 可惜找不到使用者群體, 在I

釋出自己的模組到npm

由於工作中專案需要,需要把第三方的外掛修改並上傳到npm繼續當做依賴模組使用,以下為本次經驗總結。 1.首先,在自己的專案目錄下新建專案 ------npm init(一路回車,此步驟為建立配置檔案package.json)  2.建立npm使用者 ------第一種:http

Android 定製自己的日誌工具

https://www.cnblogs.com/guop/p/5066206.html 打個比方,你正在編寫一個比較龐大的專案,期間為了方便除錯,在程式碼的很多地方都列印了大量的日誌。最近專案已經基本完成了,但是卻有一個非常讓人頭疼的問題,之前用於除錯的那些日誌,在專案正式上線之後仍然會照常列印

使用NuGet釋出自己的.NET NuGet 包(僅限 .NET Standard 和 Windows)

Microsoft Note:建立 NuGet 包 Microsoft Note:快速入門:使用 Visual Studio 建立和釋出 NuGet 包(僅限 .NET Standard 和 Windows) .nuspec 引用 https://blog.csdn.net/huwei2003/article

打包釋出自己的nodejs包

                     下午的時候寫了一篇關於一個不成熟的模板引擎的部落格,覺得還是不太夠,然後就封裝了起來,做成了一款開發包。最後為了嘗試一下如何釋出自己的包,就又完善了一下。做此文以記之。初衷說來也不是什麼高大上的東西,就是個簡單的字串格式化的實現。靈感還是源自Python。寫過Pyth