在我的AndroidManifest.xml文件中,我有以下几行:
<meta-data android:name="com.google.android.vr.icon"
android:resource="@drawable/front_icon" />
<meta-data android:name="com.google.android.vr.icon_background"
android:resource="@drawable/back_icon" />
这些行指定用于VR应用图标的图标文件和are required for Daydream。不幸的是, 这些文件的说明还不清楚:
注意:VR的资产应放在nodpi / resource目录中,以确保在加载时不应用显示密度缩放。
在我的Unity项目中,我应该放置这些文件吗?
我尝试构建时的错误是
无法重新打包资源。有关详细信息,请参阅控制台。
在控制台中使用此功能(错误从其大量的4000行减少到相关信息):
CommandInvokationFailure:无法重新打包资源。
stderr[ AndroidManifest.xml:6: error: Error: No resource found that matches the given name (at 'resource' with value '@drawable/front_icon'). AndroidManifest.xml:7: error: Error: No resource found that matches the given name (at 'resource' with value '@drawable/back_icon'). ]
清单文件位于Assets/Plugins/Android
目录中,res
有一个Assets/Plugins/Android/res
目录
我试过了:
res/drawable
res/drawable/nodpi
res/nodpi/drawable
res/nodpi
使用该文件夹中的front_icon.png和back_icon.png。这些都没有奏效。
答案 0 :(得分:2)
你几乎是对的。你想要的文件夹是
res/drawable-nodpi
您可以找到有关Android如何指定这些文件夹here的文档,我首先找到this page on providing resources,搜索&#34; nodpi&#34;,然后点击&#34 ;有关详细信息,请参阅支持多个屏幕&#34;链接,然后只需要找到正确的部分。
标题下有一个链接&#34;如何支持多个屏幕&#34;靠近页面顶部(&#34;配置限定符(详见下文)&#34;),在浏览页面内容时将我带到了正确的部分。
使用配置限定符:
在项目的
res/
目录中创建一个新目录,并使用以下格式命名:<resources_name>-<qualifier>
<resources_name>
是标准资源名称(例如drawable或layout)。<qualifier>
是下面表1中的配置限定符,指定了要使用这些资源的屏幕配置(例如hdpi
或xlarge
)。- 醇>
您可以一次使用多个
<qualifier>
- 只需将每个限定符与短划线分开。
- 在此新目录中保存适当的配置特定资源。资源文件的名称必须与默认资源文件完全相同。
例如,
xlarge
是超大屏幕的配置限定符。将此字符串附加到资源目录名称(例如layout-xlarge
)时,它会向系统指示这些资源将用于具有超大屏幕的设备。
我绝对认为,从Unity开发人员的角度来看,这些信息确实是隐藏的,因为它是一个Android的东西,而您开始的相关页面并没有包含返回支持文档的链接,如它假设您已经熟悉指定其他资源(Unity会自动为您处理)。