Android Studio3.0使用Gradle可能遇见的问题

来源:互联网 发布:klairs淘宝官网 编辑:程序博客网 时间:2024/06/05 04:36
Android Studio3.0,在Google I/O 2017上发布,与2017/10/25正式发布release版,现在就可以下载啦,文章最后我会附上链接地址。Android Studio3.0包含了许多的新功能。包括:一套新的APP分析工具,用于快速诊断性能问题。支持kotlin语言,以及新的工具,帮助开发者们在最新的Oreo API上的开发。当然在这里我们都不介绍这些。。- -#,不过我会分享点其他的。在android studio 3.0 用的是android gradle Plugin 3.0 使用的是Gradle 4.0。

1.更新配置

首先更新我们项目的Gradle 版本,一般android studio 更新到3.0后 会提示你是否更新gradle.这里我用的是手动修改的方式:在gradle/wrapper/gradle-wrapper.propertis中修改:

distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip

然后还需要修改Android Plugin版本。在项目的根目录:build.gradle:![根目录build.gradle](http://img.blog.csdn.net/20171028114147221?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWVoc2h4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)注意下 要添加 

maven {
url ‘https://maven.google.com’
}
因为google发布了自己的maven库。

2.新的依赖配置

在gradle的新版本推出了新的配置:可以控制发布、编译、运行试类的路径。通俗的说就是module在编译时可用还是运行时可用。
1.implementation 对应的是之前的compile 配置,他在module编译时可用,module的使用者在运行时可用。对于大量使用library的项目,提升的效率还是蛮高的,因为它可以减少构建系统重新编译一些module。
2.api 对应的是之前的compile配置,他在module编译时可用,module 使用者编译和运行时可用。和之前的compile完全一样。常用于library。 那么他和implementation有什么区别呢?比如说在library中引用了appcompat-v7,如果是api 在module中也是可以正常使用该包中的类的。如果是implementation中编译就会报错。
3.compileOnly 对应之前的provided,在module编译时可用,只能该module自己用,module的使用者,在编译和运行时 都不可以用。
4.runtimeOnly 对应apk, module和它的使用者,运行时可用.它跟过时的apk是一样。
注意:complie,provided,apk 这些过时的依赖目前还是可以用的,但是下个版本就会被移除掉了,所以大家还是用新的吧。

3.禁用错误检查

如果包含了不需要的annotationProcessor编译路径,可以使用配置禁用错误检查的提示

 android {    ...    defaultConfig {        ...        javaCompileOptions {            annotationProcessorOptions {                includeCompileClasspath false            }        }    }}

android studio 3.0的地址:
下载地址
下载地址
下载地址
重要的事说三遍。