WPS二次开发专题:Gradle版本、AGP插件与Java版本的对应关系

作者持续关注WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397)

背景

最近有体验SDK的同学反馈接入SDK出现报错,最终定位到原因为接入的宿主app项目的gradle版本过低导致,SDK兼容支持了android11的特性,需要对应的gradle插件为支持android11的版本。

现象

解决方案

将gradle版本升级至支持android11的插件版本即可,对此google官方的引文如下

4. 0.1(2020 年 7 月)

本次要更新支持与 Android 11 中软件包可见性的新默认设置和功能兼容。

在以前的 Android 版本中,可以查看设备上安装的所有应用的列表。从 Android 11(API 级别 30)开始,默认情况下,应用只能访问经过过滤的已安装软件包列表。如需查看系统上更广泛的应用列表,您现在需要在应用或库的 Android 清单中添加 <queries> 元素。

Android Gradle 插件 4.1 及更高版本已与新的 <queries> 声明兼容;不过,较低的版本不兼容。如果您添加 <queries> 元素或者开始依赖于支持以 Android 11 为目标平台的库或 SDK,在构建应用时可能会遇到清单合并错误。

为了解决此问题,我们将针对 AGP 3.3 及更高版本发布一组补丁程序。如果您使用的是旧版 AGP,请升级到以下某个版本:

|-----------------------------|------------------|
| 如果您使用的是以下AGP 版本 | 请升级到 |
| 4.0.* | 4.0.1 |
| 3.6.* | 3.6.4 |
| 3.5.* | 3.5.4 |
| 3.4.* | 3.4.3 |
| 3.3.* | 3.3.3 |

关于WPS 二次开发SDK可以查看前面的系列文章介绍哦!

申请方式如下:

通过向WPS官方发送邮件申请,审批通过后即可获取集成相关资料,详细参见

邮件模板:
发起人:有需要申请接入WPS移动端的企业或者个人
邮件主题: XXX公司XXX项目---WPS Android端 SDK二次开发集成申请
邮件发送: m_open_sdk@wps.cn
邮件内容:
请明确包含申请项目背景规模、集成应用第三方APP包名, 具体需求 、集成周期等

更多需求可以通过 WPS 二次开发群(QQ:250325397)进行咨询

更多知识扩展

gradle是什么

  • Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置

  • 配置文件位置:项目根目录->gradle 文件夹->wrapper->gradle-wrapper.properties

    #Mon May 08 14:27:02 CST 2023
    distributionBase=GRADLE_USER_HOME
    distributionUrl=https://services.gradle.org/distributions/gradle-7.3.3-bin.zip
    distributionPath=wrapper/dists
    zipStorePath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME

AGP(AndroidStudio Gradle Plugin)插件是什么

  • AndroidStudio用于开发Android项目的gradle插件,它一边调用 Gradle本身的代码和批处理工具来构建项目,一边调用Android SDK的编译、打包功能。由于需要调用andriod,sdk的编译打包功能,所以该插件需要关连 Android SDK Build Tools Version
  • 为何需要?由于gralde不指是为android提供构建的也为其它c++等提供构建。所以需要针对安卓的插件。
  • Gradle插件会有版本号,一般和androidStudio的版本一致。每个版本号又对应有一个或一些 Gradle发行版本
  • 配置位置:File->Project Structrue

Android SDK Build Tools Version是什么

  • Build Tools Version为AGP提供的版本构建工具,一般由AS自动生成

  • 位置:module-> build.gradle

    android {
    buildToolsVersion "29.0.2"
    ...
    }

Gradle及插件版本支持映射

|------------------|-----------------------------|-----------------------|
| 插件版本 | 所需的最低 Gradle 版本 | 支持的java版本 |
| 8.4(Alpha 版) | 8.6-rc-1 | |
| 8.3 | 8.4 | <= 21 |
| 8.2 | 8.2 | <= 20 |
| 8.1 | 8.0 | |
| 8.0 | 8.0 | |
| 7.4 | 7.5 | <= 18 |
| 7.3 | 7.4 | |
| 7.2 | 7.3.3 | <= 17 |
| 7.1 | 7.2 | |
| 7.0 | 7.0 | <= 16 |
| 4.2.0+ | 6.7.1 | <= 15 |
| 4.1.0+ | 6.5+ | <= 14 |
| 4.0.0+ | 6.1.1+ | <= 13 |
| 3.6.0 - 3.6.4 | 5.6.4+ | |
| 3.5.0 - 3.5.4 | 5.4.1+ | <= 12 |
| 3.4.0 - 3.4.3 | 5.1.1+ | <= 11 |
| 3.3.0 - 3.3.3 | 4.10.1+ | |
| 3.2.0 - 3.2.1 | 4.6+ | <= 10 |
| 3.1.0+ | 4.4+ | |
| 3.0.0+ | 4.1+ | <= 9 |
| 2.3.0+ | 3.3+ | |
| 2.1.3 - 2.2.3 | 2.14.1 - 3.5 | |
| 2.0.0 - 2.1.2 | 2.10 - 2.13 | <= 8 |
| 1.5.0 | 2.2.1 - 2.13 | |
| 1.2.0 - 1.3.1 | 2.2.1 - 2.9 | |
| 1.0.0 - 1.1.3 | 2.2.1 - 2.3 | |

参考地址:

Android Gradle插件

Android Gradle 插件历史版本介绍

Gradle版本发布

相关推荐
&岁月不待人&4 分钟前
Kotlin by lazy和lateinit的使用及区别
android·开发语言·kotlin
Winston Wood2 小时前
Android Parcelable和Serializable的区别与联系
android·序列化
清风徐来辽2 小时前
Android 项目模型配置管理
android
鹏大师运维2 小时前
【功能介绍】信创终端系统上各WPS版本的授权差异
linux·wps·授权·麒麟·国产操作系统·1024程序员节·统信uos
图片转成excel表格2 小时前
wps怎么算出一行1和0两种数值中连续数值1的个数,出现0后不再计算?
excel·wps
帅得不敢出门2 小时前
Gradle命令编译Android Studio工程项目并签名
android·ide·android studio·gradlew
problc3 小时前
Flutter中文字体设置指南:打造个性化的应用体验
android·javascript·flutter
帅得不敢出门13 小时前
安卓设备adb执行AT指令控制电话卡
android·adb·sim卡·at指令·电话卡
我又来搬代码了15 小时前
【Android】使用productFlavors构建多个变体
android
德育处主任17 小时前
Mac和安卓手机互传文件(ADB)
android·macos