美文网首页
将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