升级到AndroidStudio3.0指南

老大发布AndroidStudio3.0已经有一段时间了,前段时间已经将公司的项目的开发环境升级到了AS3.0,现记录如下,希望对同行有些许帮助。

其实本质是 升级Android Plugin 到 3.0

升级的原因

  1. AS3.0原生完全支持Kotlin
  2. 编译速度更快
  3. 使用户对项目中模块控制力更强

升级方法

第一步:升级Gradle 版本

Android plugin 3.0.0 需要4.1及以上版本的 Gradle .所以当你的AS提醒你需要更高版本的gradle插件时,你点击同意升级就OK了。
打开您项目根目录下的gradle文件夹里面的gradle-wrapper.properties文件,如图所示即可,不是就手动改成图示。

升级到AndroidStudio3.0指南_第1张图片

第二步:升级Android plugin 版本

打开你项目根目录下面的build.gradle文件,添加google()仓库,及插件,如下图所示

升级到AndroidStudio3.0指南_第2张图片

第三步:处理基于变量的依赖管理了,这部分是最麻烦的地方。

首先定义flavorDimensions,可以定义多个flavorDimensions,至少一个。将其设置到你相应的flavor中,我定义了一个版本号维度的一个flavorDimension如下图所示。

升级到AndroidStudio3.0指南_第3张图片

因为我的module里面没有flavor,所以我需要设置matchingFallbacksAPP里面的某个flavor,如上图所示

因为我的 module里面有的没有debug 这种buildType,只有release,所以需要为buildType设置matchingFallbacks

升级到AndroidStudio3.0指南_第4张图片

第四步:应用新的依赖配置

compile变成implementation,在一个module中,例如app,中使用`implementation添加的依赖,其他module是 访问不到的;

provided变成compileOnly 表示依赖仅在编译时可见

apk变成runtimeOnly 表示依赖仅在运行时可见

api 使用此依赖配置的话,其他module也是可以引用到的,但编译时间将会加长

note:升级中遇到了几个编译通不过的问题。

  • style文件中@android:可以去掉
  • applicationVariants.all
    { variant ->
    variant.outputs.all
    {
    output ->
    outputFileName = "sstx_v${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"
    }
    }

输出名字变成了:outputFileName

你可能感兴趣的:(Android)