由于标题长度的限制,完整的报错信息是

Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 24 declared in library [io.crossbar.autobahn:autobahn-android:20.1.1] 
C:\Users\lujx\.gradle\caches\transforms-1\files-1.1\autobahn-android-20.1.1.aar\e3ce5a726d3f9a3d9e3a5cf36a1581d8\AndroidManifest.xml 
as the library might be using APIs not available in 14

	Suggestion: use a compatible library with a minSdk of at most 14,
		or increase this project's minSdk version to at least 24,
		or use tools:overrideLibrary="io.crossbar.autobahn" to force usage (may lead to runtime failures)

由报错信息可知,在引用autobahn框架时,由于主工程app的minSdkVersion,即最小适配版本号是14,然而library中定义的最小适配版本是24,所以在系统编译过程中合并Manifest文件出现了异常。

报错信息很是贴心的给出了建议

1.选择一个第三方库,一个和主工程app的minSdkVersion同版本或更低版本的第三方库

2.提升本工程的minSdkVersion到和第三方库的同一版本

3.添加配置,强制使用主工程的版本号

可以根据自己的工程情况自主选择,在这里我选择第三个解决方案,在主工程中的Manifest文件中添加配置,如下

 <uses-sdk tools:overrideLibrary="io.crossbar.autobahn" />

上述的配置项和<uses-permission>和<application>同级,如下图所示:

水平有限,这里仅记录一下我自己遇到的一些问题及解决过程,各位有建议或意见,欢迎您留言讨论,谢谢。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐