元素類型 “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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章