迁移到Android Studio 3.1.1-获取“AAPT:error::item>”

迁移到Android Studio 3.1.1-获取“AAPT:error::item>”,android,android-gradle-plugin,android-studio-3.1,aapt2,Android,Android Gradle Plugin,Android Studio 3.1,Aapt2,我正在尝试将一个Android Studio 3.0项目迁移到Android Studio 3.1.1,它支持Android gradle插件3.1.1和新的AAPT2资源处理器。我认为我的问题源于这两个方面 基本上,当我尝试渐变同步我的项目时,我得到的错误是 Users/user/src/app/app-1/src/main/res/values/styles.xml:599:5-608:13: AAPT:错误::项> 我不知道仅仅基于此错误消息会出现什么错误。在谷歌上搜索,似乎也没有找到任何

我正在尝试将一个Android Studio 3.0项目迁移到Android Studio 3.1.1,它支持Android gradle插件3.1.1和新的AAPT2资源处理器。我认为我的问题源于这两个方面

基本上,当我尝试渐变同步我的项目时,我得到的错误是

Users/user/src/app/app-1/src/main/res/values/styles.xml:599:5-608:13: AAPT:错误::项>

我不知道仅仅基于此错误消息会出现什么错误。在谷歌上搜索,似乎也没有找到任何东西。此错误消息指向的行没有什么特殊之处,只是一个样式声明:

<style name=“AppEditText" parent="BigEditText">
   <item name="android:gravity">left</item>  
   <item name="android:textCursorDrawable">@drawable/drawable</item>
   <item name="android:background">@android:color/transparent</item>
   …
</style>

看起来错误来自这些行。但是他们怎么会在那里结束呢?谁会添加ns3名称空间?为什么

好的-我终于找到了原因

作为对其他正在处理这类问题的人的提示,您应该转到控制台并使用-info标志进行渐变构建,它会告诉您在处理资源时错误发生在哪个文件中。这就是我如何设法实际看到错误所在的原因,因为问题出现在开发人员通常从未看到的一个合并资源文件中


问题是,在我们的一些XML资源文件中,指定的名称空间是support和/或为元素指定了名称空间auto res行,现在导致AAPT2出现问题。我不知道为什么它以前能工作,但现在这导致了AAPT2的问题。删除这些名称空间声明可以解决这个问题

删除项目android:textCursorDrawable,整行后是否尝试过。可能是文件的可绘制名称或其他错误。谢谢,但我不认为这是原因,因为它会抱怨在这种情况下找不到可绘制名称。我可以按照图纸找到文件,这样我就可以看到它在那里。我在原始文章中添加了一些细节,这可能是根本原因。但仍然没有解释这个问题。
<ns3:item name="layout_columnWeight">1</ns3:item>
<ns3:item name="layout_rowWeight">1</ns3:item>