首页 > 其他分享 >Android Studio 中使用switch语句时报错Constant expression required的解决方法

Android Studio 中使用switch语句时报错Constant expression required的解决方法

时间:2024-11-23 23:34:22浏览次数:5  
标签:Constant required final switch nonFinalResIds false Android ID 资源

在工程目录下第一级的 gradle.properties 中添加 :

android.nonFinalResIds=false

然后Sync Now 重新gradle,就不会再报错了。

 

1. Android 项目中,资源文件(如 R.stringR.layout 等)会在构建时生成对应的 R 类,包含每个资源的唯一 ID。过去,这些资源 ID 默认是 final 的。

  • android.nonFinalResIds=false(旧行为)

    • 所有资源 ID 都会被标记为 final,无法修改。
    • 适合传统的单模块项目,但在多模块化或动态资源加载中限制较多。
  • android.nonFinalResIds=true(新行为,默认)

    • 资源 ID 不再生成为 final
    • 支持多模块和动态资源加载(如 R8 编译优化和资源分离)。

2. 为什么要设置 nonFinalResIds

nonFinalResIds 设置为 truefalse 取决于你的项目需求:

true(默认,推荐)

  • 支持 Gradle 资源优化(如移除未使用资源)。
  • 更好地支持多模块化开发(模块间的资源访问)。
  • 减小 APK 文件大小并优化编译时间。

false(兼容性模式)

  • 如果你依赖旧式代码逻辑(如硬编码的资源引用)或某些第三方库需要 final 资源 ID,则可以设置为 false
  • 在这种模式下,所有资源 ID 都会被标记为 final,确保它们是不可变的。

标签:Constant,required,final,switch,nonFinalResIds,false,Android,ID,资源
From: https://www.cnblogs.com/Fitz/p/18565261

相关文章

  • java计算机毕业设计Switch交流平台(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着游戏产业的蓬勃发展,Switch作为一款热门的游戏主机,在全球范围内拥有大量的用户。这些用户在游戏体验过程中,对于游戏攻略、用户交流等有着强烈......
  • Oracle 11g 之 ADG 主备 Switchover 手动切换实践
    全文目录:开篇语......
  • JDK 21更新:switch语句的类型模式匹配与守卫模式
    Java语言自诞生以来,一直在不断演进,以满足开发者日益复杂的需求。switch语句作为一种控制流结构,在Java中有着广泛的应用。随着JDK21的发布,switch语句和表达式得到了显著增强,使其在处理复杂条件和类型检查方面更加灵活和强大。本文将详细探讨JDK21中switch语句和表达式的更......
  • 再多看一眼就会爆炸:if语句,switch语句,以及各类循环语句间这样对比更清晰易懂哦
    1.if语句与switch语句的对比练习:输⼊任意⼀个整数值,计算除3之后的余数如果用if语句完成,如下:1#include<stdio.h>2intmain()3{4intn=0;5scanf("%d",&n);6if(n%3==0)7printf("整除,余数为0\n");8elseif(n%3==1)9printf("......
  • Dell-switch ios升级
    Dell-switchios升级1.showbootsystemstack-unitall查看目前ios的版本2.上传ios到A和B分区DellEMC#upgradesystemtftp:A:Addressornameofremotehost[]:172.29.8.33Sourcefilename[]:FTOS-Z9100-ON-9.14.1.5.binDellEMC#upgradesystemtftp:B:Addressor......
  • C#中判断的应用说明二(switch语句)
    一.判断的定义说明判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。下面是大多数编程语言中典型的判断结构的一般形式:二.判断语句C#提供了以下类型的判断语句,查看每个语句的细节。语句描述switch语......
  • uni-app中 navigateTo、reLaunch、redirectTo、switchTab几种页面路由方式的区别
    navigateTo作用:用于在当前页面内跳转到应用内的某个页面,使用wx.navigateTo跳转时,会把当前页面压入栈中,用户可以通过返回按钮或navigateBack 回到上一个页面。限制:不能跳转到tabBar页面。如果尝试跳转到tabBar页面,会没有反应或报错(具体取决于框架的实现)。使用场景:通常用......
  • 如何基于 XSwitch 拨通sip号码并播放声音
    关键点部署Xswitchdocker模式部署开启Xcc高级-->模块配置-->Xcc-->启用Xcc模块,开启nats-url  nats://127.0.0.1:4222启用,其他配置不用修改使用默认的即可部署NATSdocker模式部署(docker模式没有账号密码)配置环境变量  有三个  NATS_URL:nats://你部署nats服务......
  • JDK12~17的新特性:Switch增强,优化NPE,文本块,instanceof增强,record,sealed
    JDK14switch语句的增强:类似lambda的语法糖,不需要再写break了。提供yield实现返回值其中switch类型匹配属于预览,正常情况下是关闭的publicclassEnhanceSwitch{publicstaticvoidmain(String[]args){oldVersion();newVersion();}pri......
  • 全网最详细Open vSwitch 应用实践
    目录一、  实验环境二、  技术与知识背景1.OpenvSwitch概述2.OVS各模块的简要介绍三.、基于OpenvSwitch的OpenFlow实践1.OVS常用操作四、  基础技能1.    内容与任务2.    规划与准备五、  基础技能的配置与操作要点1.  ......