可绘制资源:无法重新打包资源,请参阅控制台以获取详细信息

时间:2018-02-05 19:18:28

标签: android unity3d android-manifest

在我的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。这些都没有奏效。

1 个答案:

答案 0 :(得分:2)

你几乎是对的。你想要的文件夹是

res/drawable-nodpi

您可以找到有关Android如何指定这些文件夹here的文档,我首先找到this page on providing resources,搜索&#34; nodpi&#34;,然后点击&#34 ;有关详细信息,请参阅支持多个屏幕&#34;链接,然后只需要找到正确的部分。

标题下有一个链接&#34;如何支持多个屏幕&#34;靠近页面顶部(&#34;配置限定符(详见下文)&#34;),在浏览页面内容时将我带到了正确的部分。

  

使用配置限定符:

     
      
  1. 在项目的res/目录中创建一个新目录,并使用以下格式命名:<resources_name>-<qualifier>

         
        
    • <resources_name>是标准资源名称(例如drawable或layout)。
    •   
    • <qualifier>是下面表1中的配置限定符,指定了要使用这些资源的屏幕配置(例如hdpixlarge)。
    •   
  2.   
  3. 您可以一次使用多个<qualifier> - 只需将每个限定符与短划线分开。

         
        
    • 在此新目录中保存适当的配置特定资源。资源文件的名称必须与默认资源文件完全相同。
    •   
  4.         

    例如,xlarge是超大屏幕的配置限定符。将此字符串附加到资源目录名称(例如layout-xlarge)时,它会向系统指示这些资源将用于具有超大屏幕的设备。

我绝对认为,从Unity开发人员的角度来看,这些信息确实是隐藏的,因为它是一个Android的东西,而您开始的相关页面并没有包含返回支持文档的链接,如它假设您已经熟悉指定其他资源(Unity会自动为您处理)。