android studio升级到3.0之后的一些配置变化

  上周android 3.0稳定版终于面世,自己也是更新了一波。但是这次的版本算是一个大版本了,直接从2.3.3到了3.0。所以跟之前升级相比也有很多配置方面的变化,现在记录如下。
   1、升级完成之后首先是会提示升级gradle插件到3.0.0,而gradle版本升级到4.1,如下图所示:

image

直接点击update就好了,其实这里修改的是两个地方,一个是project目录下的gradle文件(注意不是module目录下的),另外一个是项目gradle目录下的gradle-wrapper.properties文件里面的gradle版本;

   2、上面的升级完之后,不做其他修改的话,估计会遇到下面的错误
image

意思就是之前module里面gradle文件里面配置的sdk build tools被忽略了,因为它低于gradle插件3.0.0版本要求的最低版本26.0.2,所以必须升级了,点击update就好

   3、上面升级完之后,估计会遇到下面的问题:
image

这里的意思就是我们平时不都是会打渠道吗?就是那个productFlavors,然后自己配置一些渠道,例如productFlavors里面直接写录入yingyongbao{}这样就代表这个打出来的包是应用宝渠道的包,但是现在人家要求所有的具体渠道必须属于一个命名的flavor dimension,这个属性干什么用的呢?正常情况下就是直接一个yingyongbao{}就代表应用宝渠道,但是如果想要在应用宝渠道下面再分渠道,但是又不想要在productFlavors里面增加很多个不同渠道的跟yingyongbao{}同级的配置,那该怎么办?这个时候这个dimension属性就派上用场了。好比我应用宝和其他所有的渠道都需要一个付费版的和一个免费版的,但是没有必要给所有渠道在增加一个属性吧,可以如下酱紫写:
image

然后我们尝试进行打包,然后打出来的包的确是如下所示的四个包:
image

没错,升级到android studio 3.0之后,打出来的包是一个文件夹,然后文件夹里面的才是具体的跟之前的一样子的渠道包和一个output.json,这个json文件是这个包的一些配置信息,例如包名呀之类的。但是其实我还是有个疑问,虽然前两个是xiaomiFree和xiaomiPay,但是根据我从包里面获取到的渠道是跟xiaomi这个字眼没关系的,因为flavorDimensions的后面的属性的优先级是从前往后的。不知道为啥要酱紫搞。其实要是用不到酱紫的功能,直接在外面写一个flavorDimensions "default",里面不用任何配置就好了。

   4、说的第四个不同就是打出来的包是一个文件夹了,如果之前有同学在打包时候给包重命名可能会遇到如下的错误了:
image

就是说outputFile这个属性是只读的,我们不能修改他,所以需要将重命名apk名字的代码改为output.outputFileName就好了,想想其实也是,我们没有必要去修改文件,只需要该文件的名字就好了。这样改后还有一个好处,就是可以直接run了,且不用注释掉打包时候重命名的方法调用了:
                variant -> generateAppName(variant)  
            }  

之前的话,直接run会因为时间差导致安装apk,失败了,会提示如下错误:


image

有同学可能会问,那把原来项目的outputFile属性改为outputFileName不就好了嘛,改过后会提示没有outputFileName这个属性,那是因为gradle插件低于3.0.0,且那时候没有outputFileName属性。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,992评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,558评论 25 708
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,972评论 6 342
  • 这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险...
    acc8226阅读 7,695评论 3 25
  • 正在绞尽脑汁的想今天要写点什么的时候,突然发现卧室的灯光怎么这么昏暗,原来是上次坏了两个灯泡后就一直忘记更换了。卧...
    俊哥不是哥阅读 279评论 0 1