美文网首页
Gradle8.0+ 打包的aar不会被低版本的Gradle项目

Gradle8.0+ 打包的aar不会被低版本的Gradle项目

作者: 钱晓缺 | 来源:发表于2024-03-12 17:24 被阅读0次

    今日,我的一个老项目引用Gradle8.0+ 打包的aar遇到了问题,明明下载成功了,但是项目就是import不进去该aar。
    我打开了gradle缓存目录。

    /Users/mac/.gradle/caches/modules-2/files-2.1
    

    我看到了我的aar就在里面。
    同时,我的另外一个项目,引用该aar却没有问题,这让我陷入了沉思。

    这俩项目只有三点不同。
    第一,老项目用的是jdk11,新项目用的是jdk17。
    第二,老项目用的是gradle3.x.x,新项目用的是8.0。
    第三,老项目的编辑器是android studio2021,新项目是2023。

    同时如果你在老项目中调用

    ./gradlew build --refresh-dependencies
    

    则会显示:

    Failed to transform 'xxx.aar' using Jetifier. Reason: null. (Run with --stacktrace for more details.)
    

    根据此提示,我找到了,https://stackoverflow.com/questions/50270599/failed-to-transform-error-after-migrating-to-androidx
    并根据提示我在gradle.properties

    android.enableJetifier=false
    

    确实好用了,但是这对我们生产项目会造成隐藏的风险,因为我不知道有没有三方库需要转移到支持androidx。
    所以,无奈只能尝试升级gradle版本。
    我把gradle升级到7.4.x后,确实也解决了问题,但是同时也删除了一些冗余代码。
    总之而言,谷歌现在是比较支持用户使用新版的gradle,所以最后还是选择了升级,也为了以后少遇见此类事件。

    相关文章

      网友评论

          本文标题:Gradle8.0+ 打包的aar不会被低版本的Gradle项目

          本文链接:https://www.haomeiwen.com/subject/zytbzdtx.html