使用gradle上傳項目到jcenter,gradlejcenter

來源:互聯網
上載者:User

使用gradle上傳項目到jcenter,gradlejcenter

想不想把自己的庫也上傳到jcenter,然後只需要一名話compile com.zzb.library:android-common:0.1.0  //(compile group_id:artifact_id:version)
就可以引用你的庫?按著下面的教程一步一步來就可以了

 

1.到https://bintray.com/註冊一個帳號

2.AndroidStudio建立一個項目,然後再在這個項目裡建立一個library(File->New->New Module->Android Library)

3.開啟項目根目錄的gradle.properties檔案,複製下面的內容,替換相應欄位的值

VERSION_NAME=0.1.0GROUP=com.zzb.libraryPOM_NAME=jcenter testPOM_ARTIFACT_ID=commonPOM_PACKAGING=aar#比如我們引用appcompat-v7,那麼會這麼寫 compile 'com.android.support:appcompat-v7:22.2.0'#實際對應的欄位就是 compile 'GROUP:POM_ARTIFACT_ID:VERSION_NAME'POM_DESCRIPTION=項目描述#項目地址等,我這使用的是github的項目地址POM_URL=https://github.com/BaronZ/android-common-libraryPOM_SCM_URL=https://github.com/BaronZ/android-common-libraryPOM_SCM_CONNECTION=scm:git:git://github.com/BaronZ/android-common-library.gitPOM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/BaronZ/android-common-library.git#開源協議POM_LICENCE_NAME=The Apache Software License, Version 2.0POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txtPOM_LICENCE_DIST=repoPOM_DEVELOPER_ID=zzbPOM_DEVELOPER_NAME=ZZBPOM_DEVELOPER_EMAIL=realbo89@outlook.comPOM_DEVELOPER_URL=http://baronz.github.ioGIT_URL=https://github.com/BaronZ/android-common-library.gitISSUE_URL=https://github.com/BaronZ/android-common-library/issuesView Code

 

4.項目目錄下build.gradle,dependencies添加引用

dependencies { classpath 'com.android.tools.build:gradle:1.2.3' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2' }View Code

 

5.項目目錄下gradle目錄添加檔案gradle-jcenter-push.gradle,內容如下

apply plugin: 'maven-publish'apply plugin: 'com.jfrog.bintray'publishing { publications { mavenJava(MavenPublication) { groupId GROUP version VERSION_NAME artifactId POM_ARTIFACT_ID artifact "${project.buildDir}/outputs/aar/${project.name}-release.aar" artifact androidJavadocsJar artifact androidSourcesJar pom.withXml { Node root = asNode() root.appendNode('name', POM_ARTIFACT_ID) root.appendNode('description', POM_DESCRIPTION) root.appendNode('url', POM_URL) def issues = root.appendNode('issueManagement') issues.appendNode('system', 'github') issues.appendNode('url', ISSUE_URL) def scm = root.appendNode('scm') scm.appendNode('url', POM_SCM_URL) scm.appendNode('connection', POM_SCM_CONNECTION) scm.appendNode('developerConnection', POM_SCM_DEV_CONNECTION) def license = root.appendNode('licenses').appendNode('license') license.appendNode('name', POM_LICENCE_NAME) license.appendNode('url', POM_LICENCE_URL) license.appendNode('distribution', POM_LICENCE_DIST) } } }}def getBintrayUserProperty() { return hasProperty('BINTRAY_USER') ? BINTRAY_USER : ""}def getBintrayApiKeyProperty() { return hasProperty('BINTRAY_APIKEY') ? BINTRAY_APIKEY : ""}// gradle bintrayUploadbintray { user = getBintrayUserProperty() key = getBintrayApiKeyProperty() publications = ['mavenJava'] dryRun = false publish = true pkg { repo = 'maven' name = POM_ARTIFACT_ID desc = POM_NAME websiteUrl = POM_URL issueTrackerUrl = ISSUE_URL vcsUrl = GIT_URL licenses = ['Apache-2.0'] labels = ['android', 'aar'] publicDownloadNumbers = true version { name = VERSION_NAME vcsTag = VERSION_NAME } }}View Code

 6.項目目錄下gradle目錄添加檔案android-artifacts.gradle,內容如下

task androidJavadocs(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator))}task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) { classifier = 'javadoc' from androidJavadocs.destinationDir}task androidSourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.sourceFiles}View Code

 7.在library目錄下的build.gradle底部添加下面兩行指令碼

apply from: rootProject.file('gradle/android-artifacts.gradle')apply from: rootProject.file('gradle/gradle-jcenter-push.gradle')View Code

 8.登入bintray.com建立maven庫

  • 點擊maven
  • BINTRAY_USER=你的bintray.com的使用者名稱BINTRAY_APIKEY=上面一步讓你記下的API KeyView Code

    10.好了,敲下面命令,坐等上傳成功,cmd->進入你的項目目錄(注,執行下面的命令,請確保設定好環境變數,path裡面有gradle/bin,有JAVA_HOME環境變數)

    gradle clean build bintrayUpload

     如果看到執行結果如下,那麼恭喜你,還差一步

    如果在產生Javadoc的時候遇到'編碼GBK的不 可映射字元'錯誤,開啟gradle/android-artifacts.gradle

    添加下面代碼到androidJavadocs這個任務裡面

    allprojects { tasks.withType(Javadoc) { options.encoding = "UTF-8" }}View Code

    即完整指令碼如下

    task androidJavadocs(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) allprojects { tasks.withType(Javadoc) { options.encoding = "UTF-8" } }}View Code

     11.還需要點add to jcenter,坐等審核通過

     

    12.幾個小時後,當你看到下面的,恭喜你,可以引用的你庫了

    13.下面一句話,引用你的庫,大功告成

    compile com.zzb.library:android-common:0.1.0

     

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.