首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

错误:(16,23)找不到与给定名称匹配的资源(位于'icon‘,其值为'@drawable/icon')

这个错误是一个常见的Android开发错误,它表示在布局文件或代码中引用的资源文件无法找到。具体来说,错误信息中的(16, 23)表示错误发生在布局文件的第16行第23列,而错误的原因是找不到名为'icon'的资源文件,其值为'@drawable/icon'。

要解决这个错误,可以按照以下步骤进行操作:

  1. 检查资源文件路径:首先,确保资源文件(例如图片)存在于正确的路径中。在Android项目中,通常将资源文件放置在res目录下的相应子目录中,例如res/drawable用于存放图片资源。检查资源文件是否位于正确的目录中,并且文件名是否正确。
  2. 检查资源文件命名:资源文件的命名也是非常重要的。确保资源文件的命名符合Android的命名规范,只包含小写字母、数字和下划线,并且以字母开头。另外,还要确保资源文件的扩展名正确,例如.png.jpg等。
  3. 清理和重新构建项目:有时候,错误可能是由于项目构建过程中的缓存问题导致的。尝试清理项目并重新构建,可以通过Android Studio的菜单栏选择Build -> Clean Project来清理项目,然后选择Build -> Rebuild Project来重新构建项目。
  4. 检查布局文件或代码中的引用:如果以上步骤都没有解决问题,那么可能是布局文件或代码中的引用有误。检查布局文件或代码中引用资源文件的地方,确保引用的资源名称与实际资源文件的名称一致。

总结:

在解决这个错误时,需要检查资源文件的路径、命名和引用是否正确,并进行清理和重新构建项目。如果问题仍然存在,可能需要进一步检查代码逻辑和其他相关因素。对于Android开发中的错误和问题,可以参考腾讯云提供的开发者文档和相关资源,以获取更多帮助和指导。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ClassNotFoundException解决方案总结

相信很多初学Android会遇到这个问题,在此做一个总结,方便日后查阅。 1,首先说一下异常 ClassNotFoundException:类找不到异常。...classloaderloadclass方法时出错  4》,没有导入纯Java驱动包  还有一些初级错误比如  5》,清单配置文件中是否activity路径错误,activity名字是否错误 还有尽量不要使用中文作为项目名称...,如果你想修改APP名称可以在string.xml以及Androidmanifest.xml文件中修改 4,示例解决方案 如果在Androidmanifest.xml文件中点击activity类名根本无法进入到...检查时发现包名是错误目录结构如下: 也就是说mainactivity类位于src/activity包下,而我清单配置文件中package却配置错误 <manifest xmlns:android...:name=".MainActivity" android:icon="@drawable/ic_launcher" android:label="@string

3.2K20

APK安装流程详解1——有关安装ing实体类概述

1、重要成员变量简介: public int icon:获取该组件项在R文件中drawable资源id,对应是"android:icon"属性,如果不设置0。...public String name:获取该组件项公共名称,对应是"android:name" public int banner:获取该组件项在R文件中drawable资源id,对应是"android...:banner",不设置0 public int logo:获取该组件项在R文件中drawable资源id,比应用图标要大,一般用在ToolBar上面,对应是"android: logo",不设置...public int logo:获取该组件项在R文件中drawable资源id,比应用图标要大,一般用在ToolBar上面,对应是"android: logo",不设置0 public int...int getIconResource():返回匹配图标资源标识符,如果没有匹配就使用应用程序图标。

1.5K30

android应用资源预编译,编译和打包全解析

例如,假设有一个名称icon.pngdrawable资源,有三种不同配置,分别是ldpi、mdpi和hdpi,那么以icon.png为名称资源就对应有三个项。         ...例如,对于我们在这篇文章中要用到例子:         1. 类型drawableResourceTypeSet只有一个AaptGroup,它名称icon.png。...这个ConfigList名称icon.png,包含有三个Entry,分别为res/drawable-ldip/icon.png、res/drawable-mdip/icon.png和res/drawable-hdip...”和“vertical”bag,接着就根据字符串匹配名称“vertical”bag,最后就可以将这个bag1作为解析结果了。        ...收集资源字符串         在图17所示资源项中,一共有12个资源项,但是只有10项是具有字符串,它们分别是“res/drawable-ldpi/icon.png”、“res/drawable-mdpi

2.8K100

Android drawable微技巧,你所不知道drawable那些细节

那么在此之前,我们都是把应用程序icon图标和普通图片资源一起放到drawable文件夹下,这样看上去就会比较杂乱,有的时候想从一堆图片资源里面找icon半天也找不到,而文件一多也就容易出现漏放情况...首先解释一下图片为什么会被放大,当我们使用资源id来去引用一张图片时,Android会使用一些规则来去帮我们匹配最适合图片。什么叫最适合图片?...总体匹配规则就是这样,那么比如说现在终于在drawable-mdpi文件夹下面找到android_logo这张图了,但是系统会认为你这张图是专门低密度设备所设计,如果直接将这张图在当前高密度设备上使用就有可能会出现像素过低情况...那么同样道理,如果系统是在drawable-xxxhdpi文件夹下面找到这张图的话,它会认为这张图是更高密度设备所设计,如果直接将这张图在当前设备上使用就有可能会出现像素过高情况,于是会自动帮我们做一个缩小操作...但是要注意一个加载顺序,drawable-nodpi文件夹是在匹配密度文件夹和更高密度文件夹都找不到情况下才会去这里查找图片,因此放在drawable-nodpi文件夹里图片通常情况下不建议再放到别的文件夹里面

2.3K80

Android性能优化系列之apk瘦身

参数: -include {filename} 从给定文件中读取配置参数 -basedirectory {directoryname} 指定基础目录以后相对档案名称 -injars...你可能会有点不舒服,因为你drawable下竟然包含了一些莫名名称1x1图片… 删除armable-v7包下so 基本上armableso也是兼容armable-v7,armable-v7a...使用微信资源压缩打包工具 微信资源压缩打包工具通过短资源名称,采用7zip对APP进行极致压缩实现减小APP目标,效果非常好,强烈推荐。... whiteList = [ //for your icon packageName + ".R.drawable.icon...2) 位图相比多了一层计算,需消耗更多性能 (3) 不支持.9图 (4)不适合表现真实照片和复杂图形,一般使用在简单icon和动画上 使用shape背景 特别是在扁平化盛行的当下,很多纯色渐变圆角图片都可以用

1K30

游戏优化系列二:Android Studio制作图标教程

如果项目中已存在该资源名称(由向导底部错误来指示),它将被覆盖。名称只能包含小写字符、下划线和数字。 Trim - 要调整源资源中图标图形边框之间边距,请选择 Yes。...如果项目中已存在该资源名称(由向导底部错误来指示),它将被覆盖。名称只能包含小写字符、下划线和数字。 Trim - 要调整源资源中图标图形边框之间边距,请选择 Yes。...要让源资源保持不变,请选择 No。 Padding - 如果要调整全部四面的源资源内边距,请移动滑块。选择一个介于 -10% 和 50% 之间。如果也选择了 Trim,则先进行剪裁。...如果项目中已存在该资源名称(由向导底部错误来指示),它将被覆盖。名称只能包含小写字符、下划线和数字。 Trim - 要调整源资源中图标图形边框之间边距,请选择 Yes。...要让源资源保持不变,请选择 No。 Padding - 如果要调整全部四面的源资源内边距,请移动滑块。选择一个介于 -10% 和 50% 之间。如果也选择了 Trim,则先进行剪裁。

3.6K30

Android资源混淆打包方案

微信资源混淆方案 微信中资源混淆工具主要为了混淆资源ID长度(例如将res/drawable/welcome.png混淆r/s/a.png),同时利用7z深度压缩,大大减少了安装包体积,同时也增加了逼格...具体源码使用方法详细在github中:https://github.com/shwenzhang/AndResGuard 技术演进 资源混淆简单来说希望实现将res/drawable/icon,png...根据Android编译流程,所有资源ID已经被编译成32位int。...entry,尽管没有entry这个chunk,但是每个config里面都会有很多entry,例如drawable-mdpi中有icon1.png,icon2.png两个drawable,那在mdpi这个...这些资源是在应用程序运行时自动根据设备的当前配置信息进行适配。这也就是说,给定一个相同资源ID,在不同设备配置之下,查找到可能是不同资源

1.9K100

Android资源混淆打包方案

微信资源混淆方案 微信中资源混淆工具主要为了混淆资源ID长度(例如将res/drawable/welcome.png混淆r/s/a.png),同时利用7z深度压缩,大大减少了安装包体积,同时也增加了逼格...具体源码使用方法详细在github中:https://github.com/shwenzhang/AndResGuard 技术演进 资源混淆简单来说希望实现将res/drawable/icon,png...根据Android编译流程,所有资源ID已经被编译成32位int。...entry,尽管没有entry这个chunk,但是每个config里面都会有很多entry,例如drawable-mdpi中有icon1.png,icon2.png两个drawable,那在mdpi这个...这些资源是在应用程序运行时自动根据设备的当前配置信息进行适配。这也就是说,给定一个相同资源ID,在不同设备配置之下,查找到可能是不同资源

2.5K70

Gradle多渠道打包(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)

希望用最简单大白话来帮助那些像我一样的人。如果有什么错误,请一定指出,以免误导大家、也误导我。 最近有个需求一次要打包9个类型App,而且常量和String.xml都有变量。...不同环境,添加 string.xml 资源文件 利用 resValue 来定义资源,顾名思义 res 底下内容应该都可以创建,最后用 R.xxx.xxx 来引用。...app_icon : "@drawable/icon_stage"] } prod { manifestPlaceholders = [ENVIRONMENT: "prod...", app_icon : "@drawable/icon_prod"] } } 这样我们可以在不同环境使用不同 key ...然后把需要分渠道文件,放到不同 module 里面,把主项目的文件删掉。 千万注意:如果这样做了,每次需要引用时候,在各个渠道 module 里面都必须要放置文件哦,不然会找不到资源

1.6K60

Android项目的目录结构

R.java就是根据资源文件夹res生成,R.java里放就是res中资源文件索引,用一个常量标记res中一个资源文件,便于我们在代码中引用。...现在让我们看看res文件夹,这下面又有几种类别,其中drawable是放图片,有drawable-hdpi,drawable-ldpi,drawable-mdpi之分,对应是高密度图片,低密度图片,...Values中放就是我们常用字符串,颜色,数组等,其实资源文件还有多种,这里生成HelloWorld结构中没有,比如动画,菜单等。...="@drawable/icon" android:label="@string/app_name"> <activity android:name=".HelloWorld"...android:icon=“@drawable/icon”定义了应用图标引用资源文件中icon图片 android:label=“@string/app_name”定义了应用名称 activity

46740

Android性能优化之APK 极限压缩(资源越多,效果越显著)

将图片转换为 webp 格式 Webp 概念 WebP 是一种同时提供了有损压缩无损压缩图片文件格式,派生自视频编码格式 VP8。...例如,如果您明知给定资源表面上会在代码中使用(并因此不会被压缩器移除),但实际不会用于给定构建变体,就可以将所有资源放入公用项目目录,然后为每个构建变体创建一个不同 keep.xml 文件。...构建工具也可能无法根据需要正确识别资源,这是因为编译器会添加内联资源 ID,而资源分析器可能不知道真正引用资源和恰巧具有相同代码中整数值之间差别。...当您执行这一调用时,默认情况下资源压缩器会采取防御性行为,将所有具有匹配名称格式资源标记为可能已使用,无法移除。 例如,以下代码会使所有带 img_ 前缀资源标记为已使用。...但您可以停用这一“有备无患”处理方式,并指定资源压缩器只保留确定已使用资源。要执行此操作,请在 keep.xml 文件中将 shrinkMode 设置 strict,如下所示: <?

3.4K30

android项目的目录结构

你仍然可以使你app支持更老版本,但是设置compiledSdkVersion最新版本会让你能够启用一些新特性,并且让你app在最新设备上得到优化。...build tools version,单纯是指android SDK中安装buildTool版本号。假如这个设置错误,你AS会报错。提示你找不到对应版本号编译工具。...libs : 第三方库,例如:v4包 因为4.0以上添加了很多新api在2.0上没有所以要用这个jar包 res : 资源目录 Drawable-hdpi drawable图片资源 h hign 高分辨率...Drawable-ldpi l low 低分辨率 Drawable-mdpi m middle 中分辨率 Drawable-xhdpi xh 大分辨率 Drawable-xxhdpi xxh 超大分辨率...-- [icon图标,应用名称] --> <application android:icon="@drawable/ic_launcher" android:label

88920

compose--初入compose、资源获取、标准控件布局

中,我们常常会使用资源id获取到资源文件,比如:color、drawable、string等,在compose中,通过以下函数获取,这些函数都位于androidx.compose.ui.res包下:...获取对应idcolor资源 painterResource 获取对应id图片资源,可以是一个vector,也可以是drawable dimensionResource 获取对应iddimen资源...进行绑定 onValueChange = { text = it },//当输入框发生变换时,改变text,从而引起状态刷新,进而重组 label = { Text...= null,//文本下方文本 isError: Boolean = false,//是否错误错误会将label、下划线、下方文本、文本尾图标的图标染红 visualTransformation...,thumbContent参数支持指定开关按钮Icon,其他用法IconToggleButton相同: @Preview @Composable fun MySwitch() { var checked

5.7K30

Flutter 笔记 | 修改 App 图标、名称、启动页

随后打开对应 Icon,调整大小: ? 此时会自动你在不同分辨率下生成对应 Icon: ?...-- 添加对于圆形 Icon 支持 --> 2. iOS 修改应用图标 找了个图标生成网站: icon.wuruihong.com/ 上传对应 Icon 选择生成一些基本参数,这里感觉默认就够用了:...接下来用 Xcode 打开对应 ios module,替换对应资源: 下载已生成图标,选取 iOS 图标资源复制到以下地址中: ios ===> Runner ===> Assets.xcassets...Step 2:修改 launch_background 文件 先把 UI 给你提供启动页图片对应放在 drawable 中。 随后开启定义你启动页图片: <?...修改 iOS 应用名称 按照如下地址修改 info.plist 中 CFBundleName : ios ===> Runner ===> Info.plist ===> CFBundleName

2.2K41

Android开发(21) Android Manifest.xml 结构详解二

SDK版本数5;当然,每个SDK版本都会有指定整数值之对应,比如我们最常用Android 2.2.x版本数是8。...,位于下层,包含所有应用有关配置元素,属性可以作为子元素默认属性,常用属性包括:应用名android:label,应用图标android:icon,应用主题android:...这点该标签写法也有一定关系,比如中必须包含有元素,即用于描述具体消息名称;标签则用于表示能处理消息组件类别,即该Action所符合类别...,用于定义描述一个具体Android服务,主要属性有:Service服务类名android:name,服务图标android:icon,服务描述android:label以及服务开关android:...标签除了和其他组件相同android:name、android:icon和android:label等基础属性之外,还提供了用于支持功能特殊属性,如:内容提供者标识名称android

71440
领券