gradle的使用5

1.gradle构建的产物,称为构件。可以为jar,zip或者war等。
可以使用下面的代码进行构建,并运行命令 gradlew uploadArchives

apply plugin: "java"

task publishJar(type:Jar)

artifacts{
    archives publishJar
}

//def publishFile=file('build/buildile')

//artifacts{
	//    archives publishFile
//}

version '1.0.0'

uploadArchives{
   repositories{
	    flatDir{
  	      name 'libs'
 	       dirs "$projectDir/libs"  //生成的仓库指定到当前的根目录下的libs文件夹下
 	   }
 	   //添加mavenLocal(),生成的文件也会发布到本地仓库。生成的jar包在C:\Users\Administrator\.m2中找到
 	   mavenLocal()    
   	 //在这里也可以发布到服务器中
  	  mavenDeployer{
   	     repository(url:"http:xxxxx"){
    	        authentication(username:"username",password:"pwd")
    	    }
    	    snapshotRepository(url:"http:xxxxx"){
     	       authentication(username:"username",password:"pwd")
   	     }
     }    
    }
}

2.android gradle插件的分类
android有3类插件

App插件:com.android.application      android{}就是application的扩展类型。
Library插件:com.android.library
Test插件:com.android.test

android gradle工程的配置,都是在android{}中,这是唯一的入口。通过它可以对android gradle的工程进行自定义配置。

compileSdkVersion的写法有好多种:

compileSdkVersion 23
compileSdkVersion "android-23"
android.compileSdkVersion =23
android.compileSdkVersion="android-23"

defaultConfig,是一个ProductFlavor产品渠道。

3.buildTypes是一个域对象,有release,debug等
如果在buildTypes中添加类型,那么就需要进行配置签名,否则就会报错不能运行
在这里插入图片描述
需要配置签名
在这里插入图片描述

如果出现构建的问题,那么就需要按照以下处理
在这里插入图片描述

每个BuildType都生成一个SourceSet,所以新的BuildType名字不能是main和androidTest,因为这两个已经被占用,同时每个BuildType名字不能相同。
并且每个BuildType还会产生相应的assemble任务,比如assembleRelease和assembleDebug等,这样就会执行响应的任务从而产生不同的apk。
可以使用下面命令生成apk

gradle assemble 生成所有的apk
gradle assembleRelease   生成release的apk
gradle assembleDebug    生成debug的apk

此外BuildType还有其他的属性

debuggable  :用于配置是否生成一个可供调试的apk
jniDebuggable:
minifyEnabled:
multiDexEnabled:
proguardFiles:
shrinkResources:用于配置是否自动清理未使用的资源,默认为false
signingConfig:
zipAlignEnabled:  //进行对齐压缩处理

https://blog.csdn.net/droyon/article/details/77870619

4.混淆

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

使用混淆文件,默认提供两种,一个是没有优化的,一个是经过优化的。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yuezheyue123/article/details/88420508