美文网首页
gradle-依赖及外部命令执行api

gradle-依赖及外部命令执行api

作者: 高斯巴 | 来源:发表于2018-11-12 15:44 被阅读0次

依赖相关api:

/**

* 依赖配置api

*/

buildscript {ScriptHandler scriptHandler->

//配置我们工程的仓库地址,闭包的参数一般都省去,闭包中的this,owner,delegate中的方法都是可以直接调用

    scriptHandler.repositories { RepositoryHandler repositoryHandler->

        repositoryHandler.google()

        repositoryHandler.jcenter()

        repositoryHandler.mavenLocal()

        repositoryHandler.mavenCentral()

        repositoryHandler.ivy{}

        repositoryHandler.maven {//私有maven仓库,可以配置多个

            MavenArtifactRepository mavenArtifactRepository->

                //一般是公司内部的maven地址

                mavenArtifactRepository.name 'hexindai'

                 mavenArtifactRepository.url 'http://localhost:8081:/nexus/repositories'

                  mavenArtifactRepository.credentials{

                        username='amdin'

                        password='andim124'

            }

    }

}

//buildscript中的dependencies方法是配置我们工程的"插件"依赖,是gradle本身框架对第三方库的依赖

    scriptHandler.dependencies {

        //应用下面的之后,就能指定工程为Android工程或Android lib

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

        // NOTE: Do not place your application dependencies here; they belong

        // in the individual module build.gradle files

    }

}

//app中project中的dependencies是配置网站或者app需要引用第三方库.(为应用程序添加依赖)

//应用程序的依赖一般有:

//依赖本地库

implementation fileTree(include: ['*.jar'], dir: 'libs')//fileTree,file ,files

//依赖远程库1 ,使用compile引入的第三方库,不仅会在编译阶段使用,并且会打包到apk包中

compile 'com.jakewharton:butterknife:8.4.0'(jar包,var包,arr包(包含资源的jar包Android独有))

//依赖远程库2 ,使用provided引入的第三方库,只会在编译阶段使用,不会打包到apk包中

provided 'com.jakewharton:butterknife:8.4.0'

//依赖第三方有源码的工程

compile project(':baidumobstat-react-native')

//依赖冲突:第三方库中引入了相同的库

compile 'io.reactivex.rxjava2:rxjava:2.0.7'{

exclude module :'support-v4'//通过module方式排除依赖

exclude group:'com.android.support'//排除同一个组下的多个库冲突

}

//传递依赖.比如 compile 'com.squareup.retrofit2:retrofit:2.1.0',retrofit中引入的

//第三方库,我们项目中也要使用,就可以使用传递依赖,将传递依赖设为true

compile 'io.reactivex.rxjava2:rxjava:2.0.7'{

exclude module :'support-v4'//通过module方式排除依赖

exclude group:'com.android.support'//排除同一个组下的多个库冲突

    transitive false //false默认禁止传递依赖,尽量不允许使用传递依赖,因为不确定性.万一依赖的工程升级了,不依赖工程c了.}

//引入方式:compile和provided

/*

compile 第三方依赖里面的类和资源都会被打入到工程中.

provided(占位编译) 编译的时候回引入第三方的类和资源,打包时不会打入项目中.运行时不处理会报错.

比如:场景1:Tinker库,他的作用编译时生成application类,只要生成了application类,运行时是不需要的.

场景2:当前工程是类库工程的话,如果类库中引入的okhttp,我们项目中也使用了okhttp,那么类库中就可以使用provided

*/

//外部命令执行,拷贝apk到外部文件夹中.执行./gradlew build //命令生成apk 后,执行./gradlew apkcopy

//首先自定义一个task

task(name: 'apkcopy'){

    //doLast都会在gradle的执行阶段执行

    doLast{    

        def sourcePath=this.buildDir.path+'/outputs/apk'

        def desationPath='/Users/lichao/Downloads/'

        def command="mv -f ${sourcePath ${desationPath}}"

        //exec执行外部命令

        exec{

            try{            

                executable'bash'args'-c',command        

            }catch(Exceptione){            

                println('the command is execute failed.')       

             }    

        }

    }

}

相关文章

  • gradle-依赖及外部命令执行api

    依赖相关api: /** * 依赖配置api */ buildscript {ScriptHandler scri...

  • Gradle-执行外部命令安装APK

    # 任务 了解 Project 的 exec 使用; 练习-执行外部命令实现APK安装; # 执行外部命令 在 P...

  • 如何恢复Centos6.9中丢失的库文件

    外部命令需要依赖于很多包才能执行 列出程序库文件的文件列表,用ldd:例如:ldd /usr/bin/cp 有很多...

  • Shell脚本(中)

    shell 数组 shell内建命令 通常来说,内建命令会比外部命令执行得更快,执行外部命令时不但会触发磁盘 I/...

  • maven/gradle-依赖导入

    首先来看看Maven项目怎么添加依赖:image.png 上图中红圈部分的pom.xml文件就是可以添加依赖的地方...

  • 003-golang 调用外部命令

    003-golang 调用外部命令 相关函数 exec包执行外部命令,它将os.StartProcess进行包装使...

  • os/exec

    exec包执行外部命令 下面演示一个执行ifconfig指令的代码

  • #Python#执行外部命令cmd/shell

    工作中出于对一个脚本的优化,需要使用Python执行外部命令。这篇文章也算是工作的简单总结。执行外部命令有多种方法...

  • Linux下的帮助命令

    二、内建命令与外部命令 1.内建命令执行速度比外部命令快比如:history、cd、exit 等等。这些命令是写在...

  • vue遇坑-第一章

    webpack-dev-server 不是内部 外部命令错误原因 : 执行命令 npm run dev实际执行解决...

网友评论

      本文标题:gradle-依赖及外部命令执行api

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