提问人:aarelovich 提问时间:11/17/2023 更新时间:11/19/2023 访问量:42
Android 11:不会显示我的应用的 xml 图标
Android 11: Will not show the xml icon of my app
问:
我试图弄清楚为什么在较新的 Android 版本中我的应用程序会出现一个通用的 android 图标。
我的图标被定义为 .xml 文件。
我的 Android Manifest 中有一个 LIne,内容如下:
<application
android:allowBackup="true"
android:icon="@drawable/app_icon"
Android Studio 甚至向我展示了侧边栏中图标的图片。
如果我尝试在较旧的手机(Android 8)上启动(USB调试)我的应用程序,图标显示得很好(我正在谈论您浏览已安装的应用程序的应用程序图标)
如果我尝试在我的新手机 (Android 11) 中启动它,我会得到绿色背景的通用图标,上面有小外星人,我想是 android 标志。
如何让较新的手机显示正确的图标?
答:
0赞
Cloverleaf
11/17/2023
#1
您是否已经尝试重新启动新设备?我已经经历过 Android 的图标缓存与 Windows 存在类似的问题......
评论
0赞
aarelovich
11/17/2023
是的,我尝试多次重新启动它以解决不相关的问题
0赞
Cloverleaf
11/17/2023
@aarelovich 你是否一个接一个地命名了两个不同的图标?与任意 png 图标相同的效果?在重新安装之前,您可能已经尝试在新设备上卸载该应用程序...您的新设备上有特殊的启动器吗?app_icon
0赞
aarelovich
11/17/2023
我不确定你说的一个接一个是什么意思。我不认为我有任何其他带有 hta 名称的图标。不,我没有特殊的发射器
0赞
Cloverleaf
11/17/2023
@aarelovich我的意思是:您是否先使用名为“app-icon”的临时图标编译应用程序,然后用同名的最后一个图标替换临时图标,以便仅更改资源,而更改代码?如果没有设备在你身边并知道你已经尝试过什么,就很难猜出原因。我们只能猜测。最后的想法:尝试在新设备上安装带有图标的“Hello World”程序,然后至少您会知道您的应用程序还是新设备的 Android 是原因。
0赞
aarelovich
11/17/2023
谢谢你抽出时间,但我发现我用 PNG 来表达它
1赞
aarelovich
11/17/2023
#2
还行。知道了。谢谢@CommonsWare
我不得不为图像创建PNG版本(不同大小)。因此 shapeshifter.design 首先我使用网站将 XML 转换为 SVG,然后我在这里使用了答案:如何使用 ImageMagick 将 SVG 转换为 PNG?
编写将 SVG 转换为所需不同大小的 scritp。
我在这里将这些需求编写为PHP数组(我的脚本的一部分)。我使用PHP是因为我更喜欢“编写快速脚本”:
$SIZES = [
"mipmap-hdpi" => 72,
"mipmap-mdpi" => 48,
"mipmap-xhdpi" => 96,
"mipmap-xxhdpi" => 144,
"mipmap-xxxhdpi" => 192
];
对于那些不知道“=>”的左侧是数组的键和项目目录的 app/src/main/res 文件夹中的标识名称的人。右手边是尺寸。启动器图标都是正方形。
评论