Android 错误将二进制文件放入资产文件夹时,文件名必须以.xml结尾

Android 错误将二进制文件放入资产文件夹时,文件名必须以.xml结尾,android,android-ndk,Android,Android Ndk,据我所知,二进制文件应该放在assets文件夹中,以便能够从我的应用程序的本机部分正确地访问它们。然而,当我放入二进制文件时,androidstudio抱怨该文件应该是一个XML文件夹。从我读到的内容来看,将二进制文件放在原始文件夹中不是一个好主意,因为在本机代码中读取原始文件的过程既不直接,也不向前兼容,因为open会打开一个文件流并查找某个偏移量。如果安卓系统设计人员后来决定在APK之外解包原始文件,代码将不再有效。我有一种方法可以抑制将二进制文件放入assets文件夹时产生的XML错误。a

据我所知,二进制文件应该放在assets文件夹中,以便能够从我的应用程序的本机部分正确地访问它们。然而,当我放入二进制文件时,androidstudio抱怨该文件应该是一个XML文件夹。从我读到的内容来看,将二进制文件放在原始文件夹中不是一个好主意,因为在本机代码中读取原始文件的过程既不直接,也不向前兼容,因为open会打开一个文件流并查找某个偏移量。如果安卓系统设计人员后来决定在APK之外解包原始文件,代码将不再有效。我有一种方法可以抑制将二进制文件放入assets文件夹时产生的XML错误。

assets/
目录应该是
res/
java/
的对等目录,而不是
res/
的内部。否则,构建工具会认为它是一个资源目录,并可能期望其内容仅限于XML文件。

我一直在
assets/
中使用非XML文件。你确定你的
资产/
放在正确的位置(例如,
app/src/main/assets/
),而不是作为
res/
的子目录吗?@commonware我把资产文件夹放在res下。谢谢