解決android studio3.2引入vlc3.0.0-1.9.8.aar之後出現AAPT: error: unexpected element uses-sdk

最近把android studio升級到了最新版本3.3.2,然後之前的項目都出現了異常,編譯失敗。

其中絕大部分項目都引用了VLC3.0.0-1.9.8這個aar,我在編譯的過程中發現,只要添加了這個庫的項目都會報下面這個錯誤

AAPT: error: unexpected element <uses-sdk> found in <manifest><application>.

我以爲是我項目某個moudle的AndroidManifest.xml文件寫得有問題,於是把項目中所有模塊的AndroidManifest.xml都檢查了一遍,沒有哪一個模塊有定義<uses-sdk>這個標籤,後來去google了一下,找到了罪魁禍首。

原因是VLC3.0.0-1.9.8.aar的AndroidManifest.xml在Application下定義了<uses-sdk>這個標籤,正常是不可以這樣定義的,導致合併到APP的manifest文件後出錯,編譯不通過。

找到原因後,就好解決了。

1.aar文件就是一個自定義的zip文件,所以將libvlc3.0.0-1.9.8.aar改爲libvlc3.0.0-1.9.8.zip;

2.解壓zip文件,將libvlc中的AndroidManifest.xml打開,刪除<uses-sdk>這個標籤並保存;

3.重新將libvlc的後綴改爲aar,即libvlc3.0.0-1.9.8.aar;

4.替換後android studio工程中的libvlc;

5.重新編譯,完美解決。

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