Android Budil.gradle参数说明

mac2024-04-21  33

Android Studio 中的budil.gradle 是采用Groovy 语言进行编写的脚本信息。

主要介绍一下budil.gradle 中的相关属性和配置参数意义

defaultConfig 里面的参数介绍

applicationId//指定生成的包名 minSdkVersion//支持的最低Android版本 targetSdkVersion//最佳适配版本号 versionCode//版本号(Intent) versionName//版本名称(String) testApplicationId//测试App的包名 testInstructionRunner//配置单元测试使用的Runner,默认为android.test.InstrumentationTestRunner signingConfig//配置签名信息

buildTypes 里面的参数介绍

applicationIdSuffix//配置applicationId的后缀,在当前包名后面加上这个后缀 debuggable//配置生成的apk是否可调试 jniDebuggable//配置生成的apk是否可进行jni调试 minifyEnabled//是否启用混淆 multiDexEnabled//是否启用分包,方法超过65536时需要拆分多个包 proguardFile//配置混淆文件 shrinkResources//是否自动清理未使用的资源,默认false signingConfig//配置签名信息 testFunctionalTest//是否为功能测试 testHandleProfiling//是否启用分析功能 useJack//是否启用Jack 编译器Jack(Java* Android* Compiler Kit) zipAlignEnabled //启用zipAlign 压缩,默认false buildConfigField "String", "这个是key", '"这个是参数"'//自定义拓展属性 支持几种基本数据类型 参数分别为(类型,key,values)

productFlavors 里面的参数介绍

defayltConfig 里面的全部参数都可以在productFlavors 里面进行定义和配置。

manifestPlaceholders ;//可以自定义mainfest文件里面的变量 versionCode ;//和defaultConfig 里面的版本号一样 versionName ;//和defaultConfig 里面的版本名称一样 buildConfigField;'//自定义拓展属性 可以在java 代码之中被引用 signingConfig ;//设置签名,专门针对该模式下的签名 minSdkVersion ;//设置最低版本号 targetSdkVersion ;//最佳适配版本号 resValue ;//设置res 资源目录

lintOptions 里面的参数

abortOnError true//发现错误是否退出构建 absolutePaths false//错误的输出是否显示绝对路径,默认为相对路径 check 'NewApi'//设置需要检测哪些Lint检查,具体项目使用命令查看lint --list checkAllWarning true//是否检测所有警告的issue checkReleaseBuilds true//在release中是否检测致命错误,出现错误终止构建 disable 'NewApi'//关闭哪些issue检查 enable 'NewApi'//开启哪些检查 explainIssues true//错误报告是否包含解释说明 htmlOutput new File("xxx")//配置Html报告的输出路径 htmlReport true//是否生成html报告 ignoreWarnings false//是否忽略警告级别的检查 lintConfig new File("xxx")//指定Lint的配置文件,一个Xml文件 noLines true//错误信息中,是否不包含源代码中的行号 quiet false//是否安静模式,安静模式不会显示分析进度 severityOverrides//返回一个Map结果,内容为个issue的优先级 showAll true//是否显示全部输出,不为true,较长的信息会被截断 textOutput new File("xxx")//生成text报告的路径 textReport false//是否生成text报告 warningAsErrors false//所有警告是否当成错误处理 xmlOutput new File("xxx")//xml报告输出路径 xmlReport true//是否生成xml报告

sourceSets 里面的参数

sourceSets { main { //main 指的就是app/main 文件夹 assets.srcDirs = ['src/main/assets'] //assets 文件夹目录 res.srcDirs = ['src/main/res'] //res 资源文件夹目录 aidl.srcDirs = ['src/main/java'] //aidl 文件对象目录 resources.srcDirs = ['src/main/java']//resources 文件对象目录 renderscript.srcDirs = ['src/main/java'] //renderscript 文件目录 jniLibs.srcDirs = ['libs'] //jni so库文件目录 manifest.srcFile 'src/main/AndroidManifest.xml' //mainfest.xml 配置文件夹目录 java { srcDirs = ['src/main/java'] //java代码源码目录 exclude 'cn/com/test/main/tools/Constant.java' } } }

如果sorceSets 和Flavors搭配使用 可以按照下面方式进行调整

sourceSets { flavors1.res.srcDirs = ['src/main/res-flavors/flavors1'] }

还可以这么设置:

def fsmanifest = false //定义一个变量,可以在下面的脚本中任意修改参数。 android{ productFlavors { flavors1 { fsmanifest = true } flavors2 { fsmanifest = false } sourceSets { main { jniLibs.srcDirs = ['libs'] if (fsmanifest) manifest.srcFile 'src/main/flavors1 /AndroidManifest.xml' else manifest.srcFile 'src/main/flavors2 /AndroidManifest.xml' } } }
最新回复(0)