Articles of gradle plugin

我怎么知道android gradle插件的applicationVariants中的属性?

我正在使用带有gradle插件的Android Studio来开发应用程序。 我在DSL Reference上学习了一些android gradle插件的用法。 但我发现的一件事是doc上的applicationVariants部分很难理解。 它只给出了这样的描述: DomainObjectSet applicationVariants 应用程序变体列表。 由于集合是在评估之后构建的,因此应该与Gradle的all迭代器一起使用来处理未来的项目。 但是ApplicationVariant中的属性是什么? 我不知道。 我没有find任何引用链接来描述ApplicationVariant。 仅在页面底部的Gradle Plugin用户指南中。 它记录了applicationVariants,libraryVariants和testVariants中的可用属性。 但我发现其中一些属性已被弃用了很长时间,而且Android没有更新此页面。 那么我在哪里可以findApplicationVariant中最新的属性?

Android Studio 3.1:找不到org.jetbrains.trove4j:trove4j:20160824

昨天,我将Android Studio更新为3.1,我收到此错误: Could not find org.jetbrains.trove4j:trove4j:20160824. Searched in the following locations: https://repo.maven.apache.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom https://repo.maven.apache.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar https://dl.google.com/dl/android/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom https://dl.google.com/dl/android/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar Required by: project :library > com.android.tools.build:gradle:3.0.1 > com.android.tools.build:gradle-core:3.0.1 > com.android.tools.lint:lint:26.0.1 > com.android.tools.lint:lint-checks:26.0.1 > com.android.tools.lint:lint-api:26.0.1 > com.android.tools.external.com-intellij:intellij-core:26.0.1 这是我项目的gradle文件: buildscript { repositories { jcenter() maven { url ‘https://maven.google.com/’ name ‘Google’ } } dependencies { classpath ‘com.android.tools.build:gradle:3.0.1’ // classpath ‘com.google.gms:google-services:1.5.0-beta2’ classpath ‘com.google.gms:google-services:3.1.1’ // […]

走向j8和杰克。 Gradle sync错误

大家好我想使用Java8上提供的lamba函数,因此我不得不应用新的工具链Jack。 不幸的是,当我做了一些意外的错误时出现了。 即: 无法获取com.android.build.gradle.internal.pipeline.TransformTasktypes的任务’:app:transformJackWithJackForProdDebug’的未知属性’classpath’。 我正在我的项目库中使用 在项目中,我使用的lib如下: 匕首 RxJava 我知道匕首会导致错误,但是自7月以来dagger2 已经可以使用了。 我用 Android Studio 2.1.2 Gradle版本2.14.1 Android插件版本2.2.0-alpha7 请看我的gradle 项目/ buidl.gradle buildscript { repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.2.0-alpha7’ // classpath ‘com.android.tools.build:gradle:2.2.0-alpha3’ classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’ // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects […]

如何在Android Studio 2.3.2上解决“无法find所请求目标的有效证书路径”的问题

当我尝试创建空活动项目时,我在Android Studio 2.3.2中遇到以下错误。 当我尝试导入项目时,我也得到了这个。 Error:Cause: unable to find valid certification path to requested target 在这里,我的gradle buildscript { repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.3.2’ // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) […]

查看时找不到google-services.json

我收到错误,无法完成构建。 我搜索Stackoverflow和Github。 我已经尝试了很多方法,但我无法解决。 请帮忙。 (1)在查看[src / nullnull / debug,src / debug / nullnull,src / nullnull,src / debug,src / nullnullDebug]时找不到google-services.json (2)不推荐使用registerResGeneratingTask,使用registerGeneratedResFolders(FileCollection) 当我将google-services.json添加到app / src / debug和app / src / release (1)时会消失。 然后(2)仍然警告并且构建仍然失败 。

原来的kapt已被弃用

我已将Kotlin版本更改为1.2.30。 更新后,我无法运行该项目。 我收到以下错误消息。 Error:Execution failed for task ‘:app:compileDevDebugJavaWithJavac’. > app: Original kapt is deprecated. Please add “apply plugin: ‘kotlin-kapt'” to your build.gradle. 我该如何解决这个问题?

无法使用Android Gradle Plugin 3.0。+使用IntelliJ IDEA

当我尝试使用Android Gradle Plugin 3.0。+与Intellij IDEA时,我收到错误: Error:This Gradle plugin requires Studio 3.0 minimum 但我的IntelliJ版本高于2017.2,它应该与AS 3.0的gradle插件一起使用。

Lint未使用的资源误报与新版本的android插件gradle

我之前使用1.2.3版本的android插件进行gradle 。 我注意到在更新1.3时,lint报告的未使用资源数量大幅增加。 经过一番分析后,我注意到大多数(如果不是全部)都是假阳性…… 有没有人注意到类似的行为? 如果是这样,有关如何解决此问题的任何提示?

android gradle 4.0编译依赖项已弃用 – 新的api配置可见性如何工作?

如果我们看一下gradle构建工具,我们会注意到不推荐使用编译配置依赖关系来支持api和实现 。 看到这里 所以我对使用api的依赖可见性提出了质疑。 想象一下,我们在一个名为app的模块中设置了以下内容: dependencies { api ‘commons-httpclient:commons-httpclient:3.1’ implementation ‘org.apache.commons:commons-lang3:3.5’ } 所以从我收集的org.apache.com:commons-lang3:3.5只能在模块本身中使用。 但是commons-httpclient:commons-httpclient:3.1依赖将在模块之外可用,这实际意味着什么?这是否意味着如果我将我的app模块放入一个库中,依赖关系将对任何使用该库的人可用, (不管怎么说,总是这样吗? 这是Android文档关于api配置的说法: api compile在编译时模块可以使用依赖项,并且在编译时和运行时它也可供模块的使用者使用。 此配置的行为与compile(现在已弃用)类似,您通常只应在库模块中使用它。 应用程序模块应使用实现,除非您要将其API公开给单独的测试模块。 compileOnly提供

从gradle插件中获取带注释的方法

我正在为kotlin中的android项目开发一个gradle插件,我需要扫描项目源文件以获取所有测试的名称。 我已经实现了一个目录扫描程序,我得到了一个包含所有测试类的Arraylist 。 我试图对这个文件应用reflection,但我总是find一个没有类的exception。 我想gradle插件试图在项目的同一个gradle插件中find类,而不是使用插件的Android项目。 有没有办法扫描我的ArrayList中的每个File对象并使用注释@test获取所有方法?