ResourceType对于资源条目索引超出类型entryCount

时间:2018-10-15 04:52:58

标签: android android-studio android-studio-3.2

我使用Android Studio 3.2。清理/重建项目时,在build工具窗口中看到以下警告:

W/ResourceType( 6139): For resource 0x0101053d, entry index(1341) is beyond type entryCount(1155)
W/ResourceType( 6139): For resource 0x0101053e, entry index(1342) is beyond type entryCount(1155)
W/ResourceType( 6139): For resource 0x0101053b, entry index(1339) is beyond type entryCount(1155)
W/ResourceType( 6139): For resource 0x0101053c, entry index(1340) is beyond type entryCount(1155)

如您所见,没有任何要检出文件的地址。我也尝试使用Google,看到了thisthis的问题,但是找不到任何对我有帮助的东西。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

为了更好地了解您的问题,请使用编译的APK。 其中有一个名为“ resources.arsc”的文件。这是压缩和编译的资源文件。 为了能够阅读它,请运行:

aapt dump --values resources myAPK.apk > c:\my-res.txt 

因此,现在您将拥有一个文本文件,其中包含应用程序中所有资源的描述。 其中有很多细分,如下所示:

type 3 configCount=2 entryCount=5
  spec resource 0x7f040000 com.LTS.NVMS7000:bool/abc_action_bar_embed_tabs: flags=0x00000080
  spec resource 0x7f040001 com.LTS.NVMS7000:bool/abc_allow_stacked_button_bar: flags=0x00000000
  spec resource 0x7f040002 com.LTS.NVMS7000:bool/abc_config_actionMenuItemAllCaps: flags=0x00000000
  spec resource 0x7f040003 com.LTS.NVMS7000:bool/abc_config_closeDialogWhenTouchOutside: flags=0x00000000
  spec resource 0x7f040004 com.LTS.NVMS7000:bool/abc_config_showMenuShortcutsWhenKeyboardPresent: flags=0x00000000
  config (default):
    resource 0x7f040000 com.LTS.NVMS7000:bool/abc_action_bar_embed_tabs: t=0x12 d=0xffffffff (s=0x0008 r=0x00)
      (color) #ffffffff
    resource 0x7f040001 com.LTS.NVMS7000:bool/abc_allow_stacked_button_bar: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
      (color) #00000000
    resource 0x7f040002 com.LTS.NVMS7000:bool/abc_config_actionMenuItemAllCaps: t=0x12 d=0xffffffff (s=0x0008 r=0x00)
      (color) #ffffffff
    resource 0x7f040003 com.LTS.NVMS7000:bool/abc_config_closeDialogWhenTouchOutside: t=0x12 d=0xffffffff (s=0x0008 r=0x00)
      (color) #ffffffff
    resource 0x7f040004 com.LTS.NVMS7000:bool/abc_config_showMenuShortcutsWhenKeyboardPresent: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
      (color) #00000000
  config port:
    resource 0x7f040000 com.LTS.NVMS7000:bool/abc_action_bar_embed_tabs: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
      (color) #00000000

在此部分中,您将看到预期有2种配置和5个条目。 要了解发生了什么,您应该做的就是查看例如:

  

资源0x0101053d

这会出现在您的日志中,并查看此部分的位置。 它应该给您提示应用程序中是哪个资源组引起的。 我猜您正在链接一个非常旧的程序包,因此编译器没有将该程序包的资源正确链接到您的应用程序,因为它们例如用于不同的Android SDK版本。 对不起,我无能为力了。

如果您有更多信息,请对此答案发表评论,我会尽力提供帮助。

答案 1 :(得分:1)

我认为Itamar正确地指出了“ ...编译器没有将该软件包的资源正确链接到您的应用,因为它们打算用于不同的Android SDK版本...”

我遇到了同样的问题,但是按照AS的提示,我在这里找到了解决方案:https://chris.banes.me/2016/02/25/appcompat-vector/#enabling-the-flag

androidstudio screenshot