将Library制成jar/aar,上传至maven

理解Maven

Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。

Maven在Android的角色

android中引用包的方式分为两种:

1>本地 lib 引用

repositories {

      flatDir {

             dirs 'libs'

        }

}

dependencies {

// 前面是项目名,记住不带arr后缀,后面是后缀

compile(name: 'mylibrary', ext: 'aar')

//引用一个library

compile project(':qqEmoji-lib')

//引用jar

compile files('libs/libammsdk.jar')

}

2>Maven 引用

buildscript {

     repositories {

         //mavenCentral托管

         maven{

              url ' 'http://maven.aliyun.com/nexus/content/groups/public'' //maven托管地址 

         }

      }

      dependencies {

            //gradle 版本

             classpath 'com.android.tools.build:gradle:1.0.1'

        }

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

//maven引用包

compile 'com.android.support:appcompat-v7:25.3.1'

}

library制成jar/aar上传至Maven

1.寻找一个library,打开其下的gralde文件进行编辑

将Library制成jar/aar,上传至maven_第1张图片

2.编辑gradle文件

dependencies()后追加以下操作:

task claen(type: Delete) {

delete rootProject.buildDir

}

uploadArchives {

     repositories {

          mavenDeployer {

              repository(url: "file:/E:/maven") {   //此处可以为本地路径,也可为域名url

               }

               pom.project {

                     groupId 'com.licrafter.android'

                     artifactId 'licralibrary'

                      version '1.0.0'

                       packaging 'aar'

                }

           }

      }

}

task androidJavadocs(type: Javadoc){

         options {

              windowTitle = 'licralibrary 1.0.0-SNPHOST doc'

               docTitle = 'licralibrary 1.0.0-SNPHOST doc'

                failOnError = false encoding = 'utf-8'

                 charSet = 'utf-8'

         }

source = android.sourceSets.main.java.srcDirs

}

task androidJavaDocsJar(type: Jar, dependsOn: androidJavadocs) {

      classifier = 'javadoc'

      from androidJavadocs.destinationDir

}

task androidSourceJar(type: Jar) {

         classifier = 'sources'

         from android.sourceSets.main.java.srcDirs

}

artifacts {

       archives androidJavaDocsJar

       archives androidSourceJar

}

tasks.withType(JavaCompile) {

          options.encoding = 'UTF-8'

}

tasks.withType(Javadoc) {

           options.encoding = 'UTF-8'

}

执行命令

gradle clean uploadArchives

执行命令将arr/jar上传至Maven

如何引用

添加将Maven路径

将Library制成jar/aar,上传至maven_第2张图片

在此gradle文件中allprojects()方法下编写:


将Library制成jar/aar,上传至maven_第3张图片

引用


将Library制成jar/aar,上传至maven_第4张图片

在主项目上引用包


将Library制成jar/aar,上传至maven_第5张图片


至此我们完成了将library制成jar/arr,上传至了Maven并且完成了maven的引用

你可能感兴趣的:(将Library制成jar/aar,上传至maven)