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

本文记录了Android Studio升级到3.0后的一些关键配置变化,包括Gradle插件和SDK Build Tools的升级,新增的flavorDimensions要求,以及打包方式的改变。在升级过程中,开发者需要注意gradle-wrapper.properties文件的修改,处理产品风味维度的变化,并调整打包时的文件命名方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        上周android 3.0稳定版终于面世,自己也是更新了一波。但是这次的版本算是一个大版本了,直接从2.3.3到了3.0。所以跟之前升级相比也有很多配置方面的变化,现在记录如下。

        1、升级完成之后首先是会提示升级gradle插件到3.0.0,而gradle版本升级到4.1,如下图所示:

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

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

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

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

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

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


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

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

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

applicationVariants.all {
                variant -> generateAppName(variant)
            }

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

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

       以上就是本次内容,如果不对欢迎批评指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值