错误: 文件名必须以 .xml 或 .png 结尾

9
尽管我没有将photothumb.db选择为可绘制对象,但我收到了一个错误,说photothumb.db应该以.xml或.png结尾。 我的profilesmaller图像是png类型。 以下是我的代码。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/profilesmaller"
    tools:context="charlenebuena.guest.HomeFragment">
</FrameLayout>

以下是我的Gradle控制台消息

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> C:\Users\Charlene Marie\AndroidStudioProjects\Guest\app\src\main\res\drawable\photothumb.db: Error: The file name must end with .xml or .png

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.72 secs

2
将 photothumb.db 的位置从 drawable 文件夹改为 asset 文件夹,问题就会得到解决。 - Nitesh
@Char 判断 drawable 文件夹中的图片文件名是否以 jpg 或 png 扩展名结尾。 - Vishwa
photothumb是图像还是数据库文件? - Nitesh
你需要手动创建它,检查我的答案并标记为正确的,如果有帮助,谢谢。 - Nitesh
6个回答

16

Android 只接受 .png、.jpg、.gif 和 .xml 格式的文件作为 drawable 资源。如果您有 .db 文件,则将该文件放入 assets 文件夹中。


3

在将.png图标转换为.webp格式后,我遇到了类似的问题。该文件被创建在xxhdpi文件夹中,但未被使用。我没有记得在任何应用程序的XML和Java文件中创建或使用photothumbs.db。只需删除photothumbs.db文件即可清除错误。在删除文件之前,请务必创建备份副本以确保安全。


1

这种情况发生在我身上,当时我的一个资产文件不知何故(我也不知道怎么回事)被放到了

.../app/src/main/res/assets/model.tflite 

应该在哪里,而不是在

.../app/src/main/assets/model.tflite

将其移回去解决了问题。

1
从drawable目录中删除photothumb.db文件并将其移动到asset目录中。如果没有asset目录,则右键单击main > New > directory > assets,然后创建该目录。将您的db文件放在那里,然后您就可以使用了。

0

只需检查/app/src/main/res/下是否有奇怪的目录名称

$ ls drawable mipmap-hdpi drawable-hdpi mipmap-mdpi drawable-ldpi mipmap-xhdpi drawable-mdpi mipmap-xxhdpi drawable-xhdpi mipmap-xxxhdpi drawable-xxhdpi raw drawable-xxxhdpi rawwhilemusic.mp3 winner.mp3 <-(删除此目录后没有错误) layout values mipmap-anydpi-v26


-2

只需将您的图像文件扩展名从某些(如ico等)更改为png即可。


无建议。 - Pedro Simões

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接