元素类型 “item” 相关联的 “name” 属性值不能包含 ‘<’ 字符

Android构建时报错:

app:lintVitalRelease[Fatal Error] :3:214: 与元素类型 “item” 相关联的 “name” 属性值不能包含 ‘<’ 字符。

Could not read /Users/panxin/Library/Android/sdk/platform-tools/api/annotations.zip

java.io.IOException: Could not parse XML from android/accounts/annotations.xml

原因:sdk下/platform-tools/api/annotations.zip这个文件里的xml文件不规范造成的。
annotations.xml 这个文件报错,那么就打开这个文件看一下。

annotations.zip 解压之后得到android,根据报错信息找到报错的文件。

发现:

<item name="android.accounts.AccountManager android.accounts.AccountManagerFuture&lt;android.os.Bundle&gt; addAccount(java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)">

比如修改后的一段:

 <item name="android.accounts.AccountManager android.accounts.AccountManagerFuture&lt;android.os.Bundle&gt; addAccount(java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback&lt;android.os.Bundle&gt;, android.os.Handler)">
  <annotation name="androidx.annotation.RequiresPermission">

看到了吧 ,<> 里面带有 <>. 这个在xml里是不允许的。

自己修改:1、用记事本打开报错的文件(看报错信息android/accounts/annotations.xml),并且把标签内的 ‘<’ 和 ‘>’ 字符分别替换成 "<” 和 “>”

2、修改完之后,保证 <>,里没有<>后保存,替换annotations.zip里报错的文件,回到项目再次编译。
转自:https://blog.csdn.net/yi_tianchou/article/details/98844224

posted @ 2020-12-31 11:29  西北野狼  阅读(1360)  评论(0编辑  收藏  举报