AndroidStudio 提交工程AAR至 JCenter 及引用对应AAR

话不多说,直接进入主题 ! !!

第一步:注册

官网地址:https://bintray.com/

个人注册地址:https://bintray.com/signup/oss,为何着重强调个人地址,见下图;

第二步:创建一个Maven仓库,见下图 :::

设置仓库为Public,private需收费;Name填写为自己需要填写的名字,类型Type设置Maven,Default Licenses选择Apache-2.0,Description就是对此仓库的描述,然后点击Create ,稍等片刻 即创建成功 !!!注:此处的Name 于上传aar时需使用

 

 

第三步: 前往AndroidStudio 中进行 配置操作 

1.   在app目录下的 build中配置对应的 依赖插件

 

buildscript {
    
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'


        //此处为对应的Maven插件
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

2.配置对应的 user 及ApiKey

 

## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file should *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.
sdk.dir=F\:\\AndroidSdk

bintray.user=xxx
bintray.apikey=xxx

注:bintray.user 便是 注册时候填写的用户名;

       bintray.apikey 是账户对应的 ApiKey   ,见下图   

 

 

 

3.手动在 library中 编写上传配置:

 

具体 build.gradle 代码如下:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 26
    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}


configurations.all {
    resolutionStrategy.force 'com.android.support:support-annotations:27.1.1'
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

/*****************************************上传Maven  配置信息**********************************************************/
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'

//仓库中项目对应的 github 地址 可不填
def siteUrl = ' '
//仓库中项目对应的 git 地址可不填
def gitUrl = ' '

//发布到JCenter上的项目名字
//compile引用时的第2部分项目名取决你依赖工程名
def libName = "MavenTestDemo"
//compile引用时的第1部分
group = "com.Maven"
//compile引用时的第三部分
version = "1.0"


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
}
task copyDoc(type: Copy) {
    from "${buildDir}/docs/"
    into "docs"
}
artifacts {
    archives javadocJar
    archives sourcesJar
}

install {
    repositories.mavenInstaller {
        pom {
            project {
                packaging 'aar'
                //项目描述,自由填写
                name 'A Project 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 {
                        //开发者的个人信息,根据个人信息填写  xxx 填写自己个人信息
                        id 'xxx'
                        name 'xxx'
                        email 'xxx@gmail.com'
                    }
                }
                scm {
                    connection gitUrl
                    developerConnection gitUrl
                    url siteUrl
                }
            }
        }
    }
}

//上传到JCenter
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 应与你创建仓库名字一致
        repo = "TestMaven"
        name = libName
        desc = 'A Project For Android'
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = ["Apache-2.0"]
        publish = true
    }
}

javadoc {
    options {
        encoding "UTF-8"
        charSet 'UTF-8'
        author true
        version true
        links "http://docs.oracle.com/javase/7/docs/api"
    }
}

 

4.开始提交项目,打开Terminal窗口,  gradle 若未配置请自行配置,详情请自行百度;

  <1>输入 gradlew install 回车 等待加载

       等待结果出现 BUILD SUCCESSFUL 即为成功

<2>等待第一步成功后,输入  gradlew  bintrayUpload

     等待结果出现 BUILD SUCCESSFUL 即为成功

    此时前往  bintray 官网仓库 即可查看 先前上传的 aar 文件信息 !!!

第四步:查看上传成功的aar及引用aar

  <1> 已上传工程基本信息

<2> aar的引用 :

提交JCenter 审核通过之后直接于 app目录下 build.gradle  引用下 标注图中的 2即可,具体操作如下图 :


dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    compile 'com.Maven:MavenTestDemo:1.0'
}

 若审核中或私人使用无需提交JCenter 则于主工程 build.gradle  配置 +上图引用仓库中的aar文件。

allprojects {
    repositories {
        google()
        jcenter()

        maven{
            url("下图 1复制即可")
        }
    }
}

标注图:

 

 

总结:本文到此就结束了,操作四部曲:一注册 二建仓 三提交 四引用;希望有这方面的需要 de能更好的的使用;

          打扰了 , 告辞  ! ! !

   

 

 

 

 

 

 

 

 

 

 

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值