Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=M

本文主要是介绍Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=M,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.错误描述 

Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=debug, filters=[], versionCode=76, versionName=1.10.31}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.

2. 错误原因

Android 插件 3.0.0 引入了一些移除特定功能的 API 变更,可能会破坏您现有的构建。

output.outputFile变成了只读属性,不能再往里面写东西了;

参考:https://developer.android.google.cn/studio/build/gradle-plugin-3-0-0-migration.html#variant_api

3. 解决方案

1. variant.outputs.each 改为 variant.outputs.all

2. output ->output.outputFile = new File(parent,fileName);改为outputFileName = fileName

3修改代码

原配置:

 android.applicationVariants.all { variant ->variant.outputs.each { output ->output.outputFile = new File(output.outputFile.parent,"dj" + "_v" +defaultConfig.versionName + "_" + defaultConfig.versionCode + "_" +new Date().format("yyyy-MM-dd") + "_" + buildType.name +".apk");}
}

修改为:

   android.applicationVariants.all { variant ->variant.outputs.all {outputFileName  ="dj" + "_v" +defaultConfig.versionName + "_" + defaultConfig.versionCode + "_" +new Date().format("yyyy-MM-dd") + "_" + buildType.name +".apk"}
}

 

这篇关于Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=M的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/355424

相关文章

poj 3050 dfs + set的妙用

题意: 给一个5x5的矩阵,求由多少个由连续6个元素组成的不一样的字符的个数。 解析: dfs + set去重搞定。 代码: #include <iostream>#include <cstdio>#include <set>#include <cstdlib>#include <algorithm>#include <cstring>#include <cm

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

多路转接之select(fd_set介绍,参数详细介绍),实现非阻塞式网络通信

目录 多路转接之select 引入 介绍 fd_set 函数原型 nfds readfds / writefds / exceptfds readfds  总结  fd_set操作接口  timeout timevalue 结构体 传入值 返回值 代码 注意点 -- 调用函数 select的参数填充  获取新连接 注意点 -- 通信时的调用函数 添加新fd到

ImportError: cannot import name ‘print_log‘ from ‘logging‘

mmcv升级到2.+后删除了很多 解决 查FAQ文档,找到 添加到mmcv.utils下即可

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef‘ of undefined“

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef’ of undefined” 最近用vue做的一个界面,引入了一个子组件,在父组件中调用子组件的方法时,报错提示: [Vue warn]: Error in v-on handler: “TypeError: Cannot read property ‘methods

Android set Tag, findViewWithTag使用

设置了tag为“principal”的view ImageView principal = (ImageView) findViewById(R.id.imagen_home_0);principal.setTag("principal"); 在其它地方获取,获取已经设置了tag为“principal”的view LayoutInflater inflater = LayoutInflate

Unstructured cannot write mode RGBA as JPEG 错误解决

Unstructured cannot write mode RGBA as JPEG 错误解决 0. 错误详细1. 解决方法 0. 错误详细 Image Extraction Error: Skipping the failed imageTraceback (most recent call last):File "/root/miniconda3/envs/learn-y

C++ STL关联容器Set与集合论入门

1. 简介 Set(集合)属于关联式容器,也是STL中最实用的容器,关联式容器依据特定的排序准则,自动为其元素排序。Set集合的底层使用一颗红黑树,其属于一种非线性的数据结构,每一次插入数据都会自动进行排序,注意,不是需要排序时再排序,而是每一次插入数据的时候其都会自动进行排序。因此,Set中的元素总是顺序的。 Set的性质有:数据自动进行排序且数据唯一,是一种集合元素,允许进行数学上的集合相

[轻笔记] pip install : Read timed out. (closed)

添加超时参数(单位秒) pip --default-timeout=10000 install ${package_name}