a***@163.com
a***@163.com
  • 发布:2021-12-17 14:48
  • 更新:2021-12-17 15:55
  • 阅读:1171

Android原生插件云打包自定义基座报minCompileSdk in dependency is greater than module's compileSdkVersion

分类:nvue

自己写的原生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的编译版本高,所以报错。
解决方案一般是两种:

  1. 降低依赖的版本,一般低版本会使用较低的compileSdkVersion
  2. 升级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见附件

2021-12-17 14:48 负责人:DCloud_App_Array 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

目前云端打包compileSdkVersion固定为30,暂不支持配置compileSdkVersion,建议先尝试适配compileSdkVersion为30的环境。
后续会更新compileSdkVersion版本。

  • 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

该问题目前已经被锁定, 无法添加新回复