2019独角兽企业重金招聘Python工程师标准>>>

//                def releaseApkName = 'KGRingeToneV' + defaultConfig.versionName + '-release' + variant.productFlavors.get(0).name + '.apk'
//                 output.outputFile = new File(oldFile.parent, releaseApkName)               outputFileName = "KGRingeToneV${defaultConfig.versionName}-release${variant.productFlavors.get(0).name}.apk"

关于打包apk名字的定义,studio3.0之前支持是如上图直接对文件的File直接定义,升级后不再支持对file的定义,不能拿到file的写的权限,谷歌了些资料后,发现我们可以定义它的生成file文件名定义

接着是对我们的渠道进行定义的问题

flavorDimensions("channel") //顾名思义,是为我们现在要打渠道再可以多添加一个维度productFlavors {//多渠道打包 要在manifest <!--android:value="${UMENG_CHANNEL_VALUE}" />-->//        _0m{}_102m { dimension "channel" }}

在原来基础上添加多了维度,在扩展维度的基础上,比如说我们commpanyA和companyB,有对应的不同渠道,可以这样写,这儿参考部分网上资料,相信其实升级是为了实现更多元化的配置,实现很多不同打包版本的需求。比如下面

productFlavors{companyA{dimension "company"buildConfigField "String","FLAVOR_NAME","\"companyA\""}companyB{dimension "company"buildConfigField "String","FLAVOR_NAME","\"companyB\""}channelA{dimension "channel"buildConfigField "String","FLAVOR_NAME","\"channelA\""}channelB{dimension "channel"buildConfigField "String","FLAVOR_NAME","\"channelB\""}
}

下面遇到最坑的估计是这个:一直说aapt2是个坑,果然确实也是坑,aapt2是aapt的估计升级版,今年18年后,以前遇到有些关于aapt的编译异常直接可以添加

android.enableAapt2=false

解决,18年后估计这个会取消,连同升级为据说studio 3.2.0 alpha版本有对这个问题修复。我目前的版本号studio 3.1.2,在编译以前老项目,因为想研究看看,遇到下面这个图片的问题,这儿注意我觉得平时少去看报错注释,其实隐含了很多信息。一般编译报错会给你报具体哪一行,这儿只有一个error: . 基本搜索不到这个问题,没认真看报错所有注释的坑,就是带来自己更长时间的困扰,找问题。排除。

下面我们认真看看它的报错信息,其实是有提示到的,是图片问题,一般aapt就负责所有resource资源的合并、编译、归整等工作,一般aapt就是比如你的layout可能有问题了,或者只是因为一个不规范的输入导致可能莫名的报错。

看到了吗,builder.png 是图片的问题,其实认真看报错有收获的。最后我看了图片几百张,每张都去看,感觉很耗时间,我打算输入部分删除法,删掉一部分,看还会不会报这个 error: .错的问题,使用了大概四五次,最后定位到有一张图片有问题,认真看确实没看出什么问题,这个图片就是个编辑过9patch图片。有点神坑。最后总算解决,编译完成,项目完美运行

最后附图:真没看出来图片啥问题,名字定义和系统显示是一样的,是不也是aapt个bug。有知道童鞋麻烦告诉下,谢谢。

转载于:https://my.oschina.net/u/3318187/blog/1994023

记录android老项目studio升级3.1+后重新配置gradle踩过的坑相关推荐

  1. 记录戴尔t640切换集/独显及安装驱动时踩过的坑

    记录戴尔t640切换集/独显及安装驱动时踩过的坑 写在前面 Nvidia驱动安装篇 服务器改配置篇 写在前面 先大体说一下机器:我用的是一台dell的t640塔式服务器,ubuntu16.04,用来做 ...

  2. Android~老项目项目升级GradleAGP 7.0踩坑

    结合最近对公司项目做了一下升级,踩了点坑.记录一下,方便后续有人参考. module模块build.gradle变化 apply plugin变成了plugins 对部分android闭包下面的属性也 ...

  3. 读取项目的根目录 部署tomcat后_tomcat配置根目录访问后,部署后第一次访问会出现tomcat的默认界面而非项目首页...

    tomcat配置根目录访问后,部署后第一次访问会出现tomcat的默认界面而非项目首页,而重启后会正常,这个原因是因为在配置文件中有如下配置,造成项目加载两次 unpackWARs="tru ...

  4. android studio 升级最新版本后Lombok 插件提示版本太旧,项目爆红

    解决:下载最新的Lombok,解压放在android studio 安装包的plugins目录下 Lonbok下载地址

  5. 记录Hbuilder项目使用xcode离线打包上传苹果商店踩过的坑

    摸索一周 加上大神帮助 总算使用个人开发者账号xcode成功离线打包 欢迎指导里面的错误 搞到证书和描述文件后 参照 iOS创建最精简离线打包工程地址进行操作 http://ask.dcloud.ne ...

  6. Android 使用easeui 3.0 集成环信即时通讯 我踩过的坑

    0.关于注冊账号就不用说了. 1.创建应用.获取appkey 0.创建应用 1.填写信息 2.获取appkey 2.集成 0.首先新建一个project 1.这里主要介绍使用easeui来集成环信的即 ...

  7. Web项目部署到TongWeb的注意事项,TongWeb踩过的坑

    简介 TongWeb是东方通公司开发的一款自主.标准.安全的JavaEE应用服务器,但在使用过程中有一些我们需要注意的点,如果不关注这些注意事项,可能导致程序部署的过程中发生错误. 部署时配置问题 在 ...

  8. Android手机(MI 5s)刷机 和 取文件踩过的坑(windows系统下命令行)

    刷机ROOT(网络流量+sim卡,需要绑定小米账号) 稳定版MIUI11,先去root,找了360一键root工具不行,又找了其他的,结果还是不行.官网 开发者版本系统 卡刷包下载了,又找不到&quo ...

  9. 关于Android studio 升级到2021.1.1(大黄蜂)创建项目,兼容旧项目遇到的问题

    当升到AS大黄蜂版本之后,创建项目或者需要兼容旧项目,才发现原来有些配置文件发生了变化 1. 在大黄蜂版本中,新建的项目你会发现当你通过dependencies引入其他的第三方包时(Failed to ...

最新文章

  1. 论学好Linux系统的超级重要性
  2. Android之网络请求提示Cleartext HTTP traffic to dev*******.com not permitted
  3. php 获取已用空间,PHP5:获取导入的名称空间列表 - php
  4. 免费数学神器Mathpix发布移动版,一起来写更快的公式
  5. java火焰纹章攻略女神之剑_《火焰纹章风花雪月》白云之章-女神再生仪式图文攻略...
  6. 放弃redis使用mongodb做任务队列支持增删改管理
  7. 使用Electron将Web项目打包成windows桌面应用
  8. c语言复杂数据类型存储,C语言基础-复杂数据类型
  9. 用74HC595和74LS247驱动四位数码管
  10. 计算机丢失msvcr100.dll解决办法,计算机丢失MSVCR100.dll
  11. 网页中使用iconfont图标
  12. xss.haozi.me
  13. 【CSS3】浅谈display属性flex弹性布局、gird网格布局
  14. fseek函数的用法(用于设定指针位置)
  15. Introduction to SPM statistics
  16. 喀什大学计算机教师,新疆喀什大学教师巴努来校挂职
  17. mysql统一管理平台_统一用户管理平台
  18. Systemverilog里面include的使用
  19. Laravel composer包-webUpload制作过程
  20. Intel MKL FFTW接口函数的配置和调用

热门文章

  1. JavScript中的循环
  2. cron计划任务使用
  3. eclipse 工程复制
  4. 移动App开发趋势及未来的展望
  5. HDU_1087-Super Jumping! Jumping! Jumping!
  6. Jmeter使用jp@gc-stepping thread group做性能测试
  7. tomcat用80port能够启动,可是浏览器不显示tomcat首页
  8. 《kafka中文手册》-快速开始(二)
  9. Java集群优化——dubbo+zookeeper构建高可用分布式集群
  10. 华为交换机网络管理相关配置问题(1)