解决Error:All flavors must now belong to a named flavor dimension
前言
最近写的项目越来越大,出现了64K问题,所以用了Multidex来突破64K方法数限制,然后为了优化编译速度在build.gradle文件中加入了如下代码
productFlavors { // Define separate dev and prod product flavors. dev { // dev utilizes minSDKVersion = 21 to allow the Android gradle plugin // to pre-dex each module and produce an APK that can be tested on // Android Lollipop without time consuming dex merging processes. minSdkVersion 18 } prod { // The actual minSdkVersion for the application. minSdkVersion 16 } }
可是编译后却出现了如下问题。
出现的原因
经过在网上查阅资料发现是因为Plugin 3.0.0之后有一种自动匹配消耗库的机制,便于debug variant 自动消耗一个库,然后就是必须要所有的flavor 都属于同一个维度。为了避免flavor 不同产生误差的问题,应该在所有的库模块都使用同一个foo尺寸。
解决问题
在主app的build.gradle里面的进行修改。
defaultConfig { targetSdkVersion:*** minSdkVersion :*** versionCode:*** versionName :*** //版本名后面添加一句话,意思就是flavor dimension 它的维度就是该版本号,这样维度就是都是统一的了 flavorDimensions "versionCode" }
个人技术博客:https://myml666.github.io
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
swift4.1 系统学习十四 协议
// 协议 /* OC中也有协议,swift中的协议的作用与OC中基本一样,只是在写法上有一点区别。 我们使用 protocol关键字来定义一个协议。在一个协议中只能存放计算式属性以及方法的声明, 而不能对他们进行定义。 */ // 1. 协议的定义 // 定义一个协议 protocol MyProt { /// 声明一个普通的方法 func foo() /// 声明一个可修改存储式实例属性的方法 mutating func doSomething(a: Int) -> Int? /// 声明一个静态方法 static func typeMethod() /// 声明一个初始化器方法 init(a: Int) /// 声明一个下标 subscript(index: Int) -> Int {get set} /// 声明一个计算式属性 var property: Int { get set } /// 声明一个计算式属性,并且是只读的 static var typeP: Double { get } } // 2. 协议的遵循 /* 只有协议是没有意义的,协议是用来遵循的,...
- 下一篇
安卓-获取APK的包名
获取APK的包名(package和activity) @Date 2017.04.20 adb方式 安装此APK到一安卓手机上,并通过USB调试模式连接电脑 查询手机是否连接成功 adb devices 监听logcat日志并输出到指定目录文件 adb logcat>C:/log.log 此时直接打开待测APP ctrl + c 关闭日志输出 查看输出的日志文件,在其中搜索以下例子(以淘宝举例),Displayed后面以/切分的就是package/activity 04-18 19:15:12.443 1813 1922 I ActivityManager: [AppLaunch] Displayed Displayed com.alibaba.android.rimet/.biz.SlideActivity: +4s455ms (total +6s273ms) 04-18 19:15:12.443 1813 1922 D ActivityManager: AP_PROF:AppLaunch_LaunchTime:com.alibaba.android.rimet/.biz.Sl...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- 设置Eclipse缩进为4个空格,增强代码规范
- Windows10,CentOS7,CentOS8安装Nodejs环境