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

背景

最近有体验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 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
  • 为何需要?由于gradle不指是为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版本发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/810522.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海外代理IP如何助力YouTube广告投放?

一、海外代理的角色与优势 拓展地理访问&#xff1a; 海外代理允许您从其他国家或地区的IP地址进行网络访问。通过使用海外代理&#xff0c;您可以绕过部分限制&#xff0c;实现访问YouTube和其他平台的目的。扩展受众&#xff1a; 利用海外代理&#xff0c;您可以将广告投放面…

【学习】Spring IoCDI

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f4d5;格言&#xff1a;吾愚多不敏&#xff0c;而愿加学欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 Spring 是什么&#xff1f; 什么是 IoC容器&#xff1f; 传统开发模式 loC开发模式 IoC的优势 IoC 的使用 Bean的…

vue3使用jsQR解析二维码

1.了解jsQR jsQR是一个纯javascript脚本实现的二维码识别库&#xff0c;不仅可以在浏览器端使用&#xff0c;而且支持后端node.js环境。jsQR使用较为简单&#xff0c;有着不错的识别率。 2.效果图 3.二维码 4.下载jsqr包 npm i -d jsqr5.代码 <script setup> import …

迁移docker部署的GitLab

目录 1. 背景2. 参考3. 环境4. 过程4.1 查看原docker启动命令4.2 打包挂载目录传至新宿主机并创建对应目录4.3 保存镜像并传至新宿主机下4.4 新宿主机启动GitLab容器 5 故障5.1 容器不断重启5.2 权限拒绝5.3 容器内错误日志 6 重启容器服务正常7 总结 1. 背景 最近接到一个任务…

iOS自定义初始化方法

有很多初始化方法我们通常都是在applicationDidFinishLaunching里一个个调用&#xff0c;那么有没有办法像__attribute__((constructor))&#xff0c;能够自动调用被修饰的函数&#xff1f; 可以通过指定函数所在section的方式&#xff0c;然后获取section开头去逐个调用。但是…

【Java】JDK1.8 HashMap源码,put源码详细讲解

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 在Java中&#xff0c;HashMap结构是被经常使用的&#xff0c;在面试当中也是经常会被问到的。这篇文章我给大家分享一下我对于HashMap结构源码的理解。 HashMap的存储与一般的数组不同&#xff0c;HashMap的每一个元素存…

第 9 场 小白入门赛 -- 蓝桥杯

比赛地址 第 9 场 小白入门赛 - 蓝桥云课 1 . 省赛总动员 #include <iostream> using namespace std; int main() {// 请在此输入您的代码cout << "No.1" << endl ;return 0; } 2 . 盖印章 解方程即可&#xff0c;因为题目确定有解 #include…

libevent源码解析-定时机制,信号处理,流量控制

概述 libevent的event&#xff0c;event_callback&#xff0c;event_base除了可以用来支持套接字的自动和手动分发&#xff0c;也可用来支持定时机制&#xff0c;信号处理&#xff0e;这里&#xff0c;我们补充对定时机制&#xff0c;信号处理的分析&#xff0e; libevent中的…

c# wpf datagrid 简单试验

1.概要 datagrid 一个列表类的控件 2.代码 <Window x:Class"WpfApp2.Window3"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.mic…

MySOL之旅--------MySQL数据库基础( 3 )

本篇碎碎念:要相信啊,胜利就在前方,要是因为一点小事就停滞不前,可能你也不适合获取胜利,成功的路上会伴有泥石,但是走到最后,你会发现身上的泥泞皆是荣耀的勋章! 今日份励志文案: 凡是发生皆有利于我 目录 查询(select) 1.全列查询 2.指定列查询 3.查询字段为表达式 ​编…

嵌入式中常用的巧妙方法 - (汇总)

概述 做项目&#xff0c;掌握以下方法&#xff0c;可提高开发效率&#xff0c;把时间全部放在需求上。 1、快速获取结构体成员大小 #include <stdio.h> // 获取结构体成员大小 #define GET_MEMBER_SIZE(type, member) sizeof(((type*)0)->member)// 获取结构体成…

每日一题:C语言经典例题之杨辉三角

题目描述 输出杨辉三角形。 输入 第一行输入一个整数 n (1<n<10)。 输出 输出杨辉三角形的前n行&#xff0c;每个数字占8格左对齐。 样例输入 4 样例输出 1 1 1 1 2 1 1 3 3 1 代码&#xff1a; #inc…

前端小白学习Vue框架(二)

一.属性计算、属性监听、属性过滤 1.认识MVVM V &#xff08;用户视图界面&#xff09;通过VM (应用程序) 向Model(数据模型) 取值与赋值的过程&#xff01; 数据双向绑定 视图改变更新数据&#xff0c;数据改变更新视图 2.属性计算 //在vue实例中通过computed去计算new …

SNRO 编号范围对象管控,唯一ID

事务代码:SNRO 代码引用: DATA: MAXTID TYPE I,NEWNO TYPE CHAR8. CALL FUNCTION NUMBER_RANGE_ENQUEUE EXPORTING OBJECT ZQC57 EXCEPTIONS FOREIGN_LOCK 1 OBJECT_NOT_FOUND 2 SYSTEM_FAILURE 3 OTHERS …

Flutter学习13 - Widget

1、Flutter中常用 Widget 2、StatelessWidget 和 StateFulWidget Flutter 中的 widget 有很多&#xff0c;但主要分两种&#xff1a; StatelessWidget无状态的 widget如果一个 widget 是最终的或不可变的&#xff0c;那么它就是无状态的StatefulWidget有状态的 widget如果一个…

vLLM部署Qwen1.5-32B-Chat

vLLM部署Qwen1.5-32B-Chat 部署环境 操作系统:Ubuntu 20.04.2 LTS Docker:v24.0.0 Docker Compose:v2.17.3 GPU:NVIDIA A100-SXM4-80GB Nvidia Driver Version: 535.154.05 CUDA Version: 12.2 部署过程 模型文件下载 下载地址:通义千问1.5-32B-对话 模型库 (m…

【已解决】解决前端模块与Node.js版本不兼容问题

目录 一、问题描述&#xff1a; 二、问题定位 三、解决方案 3.1 安装一个兼容版本的Node.js&#xff1a; 1 安装node 2 安装nvm 3.2 更新node-ipc模块&#xff1a; 3.3 使用--force选项&#xff08;不推荐&#xff09;&#xff1a; 3.4 寻找替代模块&#xff1a; 一、…

论软件的三层架构设计,使用三段论写一篇架构设计师的论文

软件的三层架构设计是一种广泛采用的设计模式&#xff0c;它通过将应用程序划分为三个主要层次——表示层、业务逻辑层和数据访问层——来提高软件的可维护性、可扩展性和解耦性。本文将采用三段论的方法&#xff0c;深入探讨这一设计模式的理论基础、具体设计原则及其实际应用…

使用echarts控件,小程序分包处理上传失败

原因&#xff1a;在小程序中想要使用echarts控件&#xff0c;但是上传代码失败&#xff0c;错误码为主包超过2.5M&#xff0c;基于此&#xff0c;我们使用分包处理&#xff0c;并上传版本。 错误&#xff1a; 使用echarts&#xff1a;在小程序中引入echarts相关文件。 解决方式…

Arduino 项目笔记 |TH1621 LCD液晶显示屏驱动(SSOP-24封装)

LCD液晶屏资料 LCD液晶屏资料 重要参数&#xff1a; 工作电压&#xff1a; 3V可视角度&#xff1a;1201/4 &#xff0c;1/3 TH1621 驱动 HT1621 LCD控制驱动芯片介绍 VLCD 和 VCC 电压符合规格书&#xff0c;最好都取3.3V 。电压太高或太低都会出现段码液晶屏乱码的情况&am…