美文网首页
将Library制成jar/aar,上传至maven

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

作者: 放空独自启航 | 来源:发表于2017-12-09 12:36 被阅读71次

理解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文件进行编辑

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路径

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

引用

在主项目上引用包


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

相关文章

网友评论

      本文标题:将Library制成jar/aar,上传至maven

      本文链接:https://www.haomeiwen.com/subject/wjvyixtx.html