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<android.os.Bundle> 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<android.os.Bundle> 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)">
<annotation name="androidx.annotation.RequiresPermission">
看到了吧 ,<> 裏面帶有 <>. 這個在xml裏是不允許的。
自己修改:1、用記事本打開報錯的文件(看報錯信息android/accounts/annotations.xml),並且把標籤內的 ‘<’ 和 ‘>’ 字符分別替換成 "<” 和 “>”
2、修改完之後,保證 <>,裏沒有<>後保存,替換annotations.zip裏報錯的文件,回到項目再次編譯。