解决android studio3.2引入vlc3.0.0-1.9.8.aar之后出现AAPT: error: unexpected element uses-sdk

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/adolph_lu/article/details/89033088

最近把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.重新编译,完美解决。

猜你喜欢

转载自blog.csdn.net/adolph_lu/article/details/89033088
今日推荐