自己写的原生Android插件,使用了camerax依赖,离线打包自定义基座正常,可以复制到uni-app中使用。
因为这个插件打算提交到插件市场,所以在测试云打包自定义基座。
云打包试了很多次,一直报下面错误:
The minCompileSdk (31) specified in a dependency's AAR metadata is greater than this module's compileSdkVersion (android-30).
(插件的6个依赖都报这个错误)
错误日志:https://ide.dcloud.net.cn/build/errorLog/e160c1e0-5efd-11ec-88c7-11d0d456763c
我尝试了把插件下build.gradle中的compileSdkVersion改为31,重新打包,依然报上面的错误。
目前app模块的build.gradle中compileSdkVersion一样是31,但导出插件为aar的时候,其实不涉及app项目,所以改app这里对于云打包基座应该是没用的。
我在google上搜索了这个错误。大部分的解释都是插件依赖的sdk编译版本,比目前app的编译版本高,所以报错。
解决方案一般是两种:
- 降低依赖的版本,一般低版本会使用较低的compileSdkVersion
- 升级app中build.gradle的compileSdkVersion到依赖的最低要求。
对于第一种方法,因为我使用的camerax的一些包是新出来的,比如camera-video这个。官方仓库只有alpha10和alpha11两个版本(https://mvnrepository.com/artifact/androidx.camera/camera-video),我前四个降级到了alpha10重新尝试编译,依然报这个错误。说明低版本的依然是要求compileSdkVersion为31
对于第二种方法,HBuilderX中manifest.json中可以编辑app的minSdkVersion和targetSdkVersion。但没有找到编辑compileSdkVersion的地方。我minSdkVersion设置为了21,targetSdkVersion修改为30和31都试了,均报上面的错误。然后我在源码视图中直接添加“"compileSdkVersion" : 31,”,重新打包,错误依旧。所以看样子是云打包目前不支持设置compileSdkVersion。
希望官方看下这个问题,看有没有其他的办法可以解决。
插件的build.gradle见附件
a***@163.com (作者)
我依赖的google的camerax包,是今年10月份刚出来的,最低要求就是31,暂时没办法适配30了。
只能等官方后续升级到31了,感谢回复。
2021-12-17 16:45
白朴朴
现在版本支持compileSdkVersion为31的环境了吗?
2022-04-18 14:11
1***@163.com
后续是啥时候啊,已经半年过去了
2022-05-16 17:19
2***@qq.com
啥时候改呀?已经2020年7月4日,遥遥无期呀?
2022-07-04 09:15
DCloud_App_Array
回复 2***@qq.com: HBuilderX3.5.0-alpha版本已经更新云端打包使用31版本SDK编译。
2022-07-04 12:08