gradle

多模块下Gradle优化(一)

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-11 21:32:30
在项目开发中,往往会用到很多个module,每个module都有自己的gradle,而这些gradle很大部分都是重复的,所以我们可以将重复的部分,抽取成一个公共的gradle,然后各个module都引用这个公共中的就可以了 一个项目中,gradle总共有三类,setting.gradle, build.gradle和各个module下的build.gradle ,而执行的顺序也是setting.gradle> 项目build.gradle>module中build.gradle,而我们要抽取一个公共的gradle,让项目的build.gradle依赖于公共的gradle 并且如果一个项目中,有很多个module,如果每次修改点东西,都整个项目编译一遍,很费时间,所以,最好哪个module改了,就直接运行哪个module,这样就可以省下很多时间,在测试的时候,各个module都可以单独运行,而在上线的时候,各个module都直接集成在项目中,不可单独运行,所以最好有个开关,根据这个开关来判断是集成还是分成各个module,下面上代码 先抽取公共的gradle , 取名app_config.gradle ext{ //闭包 /*** * true 表示是生产环境 * false 表示是测试环境 * 自己手动修改 * 不发布时,改成false ,各个模块可以单独运行 */

Gradle下载不了,可以使用阿里的依赖库

早过忘川 提交于 2020-03-11 08:39:41
将项目路径下的build.gradle buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.6.1' } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 修改为 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { // 添加阿里云 maven 地址 maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' } google() jcenter() } dependencies { classpath 'com.android

AndroidStudio Gradle DSL method not found

北城余情 提交于 2020-03-07 18:56:45
Gradle DSL method not found:'runProguard()' AS升级后,工程会默认把你的gradle版本替换成最新的版本,没有做到向下兼容,runProguard()找不着了 把build.gradle中 buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 替换成: buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 更多版本问题参考: http://www.flakor.cn/2014-12-23-849.html?utm_source=tuicool 今天将android studio升级到了新版本,不出意外又出现各种问题 1,Gradle DSL method not found: ‘runProguard()’ runProguard函数已经被废弃并且停止使用了 改成minifyEnabled 即如下的配置 1 2 3 4 5 6 7 8

Gradle for Android ( 构建变体 )

邮差的信 提交于 2020-03-07 18:39:31
  有时候我们一个app需要有不同的版本,不同的版本又会使用不同的配置,我们可以使用gradle进行管理。      Build types      Product flavors      Build variants      Signing configurations      一、构建版本Build types:      常见的构建版本有debug与release。      复制代码      buildTypes {      release {      minifyEnabled false      proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'      }      }      复制代码      自定义构建版本:      复制代码      custom {      applicationIdSuffix ".custom"      versionNameSuffix ".custom"      minifyEnabled false      proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard

使用Kotlin写Gradle

被刻印的时光 ゝ 提交于 2020-03-07 12:39:04
现在Gradle也支持Kotlin了,很多人本来就使用Kotlin开发Android,现在用一种语言同时可以把build脚本的工作也做了,可谓一举两得。 Kotlin DSL DSL即Domain-Specific Language。 Kotlin与Groovy一样是DSL友好的语言,所以很适合用于Gradle脚本编写。 Kotlin版本的Gradle文件后缀会发生变化, ks 即 Kotlin Script 的意思: .gradle > .gradle.kts 接下来我们学习如何将gradle文件改成Kts的写法: 环境 我们以一个既有Gradle项目为例: Android Studio 3.5.3 Gradle 6.0.1 Kotlin 1.3.61 JDK 8 将各个 gradle 文件后缀名改为 gradle.kts ,并用kotlin重写其内容 gradle > gradle.kts settings.gradle > settings.gradle.kts include ( ":app" ) rootProject . name = "MyApplication" build.gradle -> build.gradle.kts (root) buildscript { repositories { google ( ) jcenter ( ) }

Android SDK接入问题总结(一)

给你一囗甜甜゛ 提交于 2020-03-07 10:22:41
Android Studio 3.5版本引入旧工程 1】Could not find method jackOptions() for arguments xxxxxx 解决 :在build.gradle中只有用即可,注掉jackOptions defaultConfig { // jackOptions { // enabled false // } } compileOptions { sourceCompatibility JavaVersion . VERSION_1_8 targetCompatibility JavaVersion . VERSION_1_8 } 2】“No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android” 原因 :新版本的NDK与3.0及以前旧版的Android Gradle plugin插件不兼容 解决 :注掉build.gradle中低于3.0的gradle版本 dependencies { // classpath 'com.android.tools.build:gradle:2.3.2' } 3】“Manifest merger failed : Attribute application

idea导入 spring framework项目

做~自己de王妃 提交于 2020-03-06 20:44:26
准备的环境:gradle,idea 注意:gradle版本不一致会报各种错误,那么怎么查找依赖的版本呢? 首先在git上把spring framework项目拉取下来, 步骤一:复制URL路径 步骤二:使用git clone 命令拉取项目 步骤三:启动idea,导入springframework项目 gradle版本查找方式: 来源: https://www.cnblogs.com/xiqoqu/p/12430217.html

sonarqube不再支持jacoco coverage非xml格式的报告, 只通过sonar.coverage.jacoco.reportXmlPaths支持xml

拜拜、爱过 提交于 2020-03-06 17:22:06
jacoco是一个开源的,目前使用比较普遍的java语言的覆盖率计算工具,它默认生成的是.exec格式的覆盖率报告。sonarqube是做代码静态扫描的平台,它可以将jacoco计算的覆盖率上传到自己的平台上,然后根据指定的规则来做一些分析。sonarqube最新的8.x的版本开始不支持.exec这种格式的报告了(也就是参数sonar.jacoco.reportPaths是不支持的了),jacoco要生成xml格式的报告才能被sonarqube识别(sonar.coverage.jacoco.reportXmlPaths)。 官方文档的说明, https://docs.sonarqube.org/pages/viewpage.action?pageId=1442166 但文档并没有说具体从哪个版本不支持。 一、首先来看如何适应sonarqube的改动 下面来看如何让jacoco生成xml格式的报告,其实很简单,在build.gradle中添加这样一个设置就好了,打开xml格式,关闭csv和html格式。 jacocoTestReport { reports { xml.enabled true csv.enabled false html.enabled false } } 然后在执行的时候把这个task添加到参数里才可以 ./graldew jacocoTestReport

gradle 配置及设置本地仓库

﹥>﹥吖頭↗ 提交于 2020-03-06 12:22:01
安装Gradle 从官方网站下载安装包,解压到目录 设置环境变量 GRADLE_HOME=D:\gradle\gradle-3.4.1 PATH=;%GRADLE_HOME%\bin 设置本地仓库目录 GRADLE_USER_HOME=D:\gradle\repo 安装Maven 从官方网站下载安装包,解压到目录 设置环境变量 MAVEN_HOME = D:\java\apache-maven-3.3.9 然后在Path中添加 %MAVEN_HOME%\bin; 为了测试安装成功,打开命令提示符,输入 mvn -version (maven所有命令都是mvn) 你可能会发现这种情况  或者这种情况 提示说还需要设置JAVA_HOME 那么JAVA_HOME的设置其实就是和path中jdk的相似了 新建一个,!!!切记不能加 ; 不能在后面输入多余空格,可能会出现上面的第二种情况。 修改配置文件setting.xml 设置本地仓库目录 <localRepository>D:/maven/repository</localRepository> 使用阿里云镜像 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/<

Gradle TestNG Task is not create test-output folder

假如想象 提交于 2020-03-06 03:28:57
问题 I just start working with Gradle on Test Automation. Here we have a problem that test-out folder is not created when we triggered Gradle Task. Right click > Run As TestNG , it works fine the out-put folder is created. But when we execute Gradle Task . this folder is not created. test { useTestNG() { excludeGroups 'unit' } ignoreFailures = true testLogging.showStandardStreams = true } task ParallelTestExecution(type: Test) { useTestNG() { options.parallel = 'methods' //modes: methods, tests,