我们很高兴地宣布,我们刚刚发布了 Cordova Android 10.0.0
!这是 Cordova 支持的构建 Android 移动应用程序的平台之一。
升级
cordova platform remove android
cordova platform add [email protected]
版本亮点
-
仅支持
AndroidX
在此版本中,我们已完全迁移到 AndroidX 库,不再支持 Android Support 库。所有继续使用 Android Support 库的插件都需要更新以引用新的 AndroidX 库。
如果插件尚未更新,您仍然可以使用 cordova-plugin-androidx-adapter 插件,该插件可用于将旧引用迁移到新的 AndroidX 引用。
-
WebViewAssetLoader
支持默认情况下,启用
WebViewAssetLoader
,允许应用程序从“正确的”源提供其内容。这将使 Angular 等框架的路由工作变得容易。无需其他配置,应用程序内容将从
https://127.0.0.1/
提供。您可以通过设置首选项选项hostname
来配置主机名。<preference name="hostname" value="localhost" />
方案
https
本质上是不可配置的。请注意,这是一个重大更改,会导致与
file://
方案关联的数据(如 Cookie、本地存储、本地缓存和基于 Web 的数据库)丢失。您将需要处理数据迁移。如果您目前无法迁移数据,则可以通过设置AndroidInsecureFileModeEnabled
首选项标志来还原此设置。<preference name="AndroidInsecureFileModeEnabled" value="true" />
设置此标志会将内容保留在
file://
方案上,Google 报告此方案不安全。 -
Android App Bundles
aab
支持默认情况下,发布版本现在将生成
aab
格式的发布包类型。本质上,
aab
包不能手动部署或推送到设备进行测试。如果您需要测试发布版本,则需要使用packageType
标志将包类型改回apk
。调试版本将继续创建
apk
格式的包。 -
工具和默认支持提升
- 目标 SDK (
targetSdk
):30
- SDK 构建工具:
30.0.3
- Gradle:
7.1.1
- Kotlin:
1.5.20
- Android Gradle 插件 (AGP):
4.2.2
- Google Services Gradle 插件:
4.3.5
- 目标 SDK (
-
Node 支持
由于 Node 10 不再受 Node.js 团队支持,我们已放弃对 Node 10 的支持。
-
Java 11 支持
随着当前 Android Studio 4.2 版本的发布,Android 工具现在可以支持在 Java 11 上运行。请注意,这并不意味着您可以开始编译 Java 11 源代码。
请在 issues.cordova.io 报告您发现的任何问题!
问题通知
对于启用 Google Services Gradle 插件的用户或插件,存在一个已知问题。
https://github.com/apache/cordova-android/issues/1284
我们正在准备并争取在未来三天内进行补丁版本投票。
完整变更日志
重大变更
- GH-1052 feat!: 仅支持
AndroidX
- GH-1137 feat!: 实现
WebViewAssetLoader
- GH-1268 feat!: 发布版本默认为
aab
包类型 - GH-1182 feat!: 提升
target sdk@30
w/[email protected]
- GH-1257 feat!: 升级
[email protected]
- GH-1197 feat!: 升级
[email protected]
- GH-1256 feat!: 升级
[email protected]
- GH-1204 feat!: 升级
[email protected]
- GH-1200 feat!: 升级
[email protected]
- GH-1255 feat!: 升级
[email protected]
- GH-1232 feat!: 升级
[email protected]
- GH-1198 feat!: 升级
[email protected]
- GH-1199 feat!: 升级
Google Services Gradle [email protected]
- GH-1262 feat!: 提升
[email protected]
- GH-1258 feat!: 提升
[email protected]
- GH-1252 feat!: 删除废弃的
com.github.dcendents:android-maven-gradle-plugin
- GH-1212 feat!: 统一并修复 gradle 库/工具覆盖
- GH-1138 feat(allow-list)!: 集成和重构核心插件
- GH-1201 feat!: 升级 jfrog
[email protected]
- GH-1279 chore!: 提升所有依赖项
- GH-1278 chore!: 放弃
node
10 支持 - GH-1205 chore! (
npm
): 更新所有依赖项 - GH-1274 cleanup!: 删除已弃用的设置并添加待办注释
- GH-1048 cleanup!: 删除
keystore
密码提示 - GH-1251 cleanup!: 放弃
jcenter
并更新依赖项 - GH-1269 refactor!: 不要将 JS 库复制到平台项目
- GH-1270 refactor(Api)!: 使用
package.json
中的版本 - GH-1266 refactor(run)!:
run
方法 - GH-1083 refactor!: 放弃对
android
SDK 工具的支持 - GH-1100 refactor!: 删除大多数平台二进制文件
功能
- GH-1241 feat: 删除
java
1.8 版本检查 - GH-1254 feat: 支持
webkit
版本覆盖 - GH-1229 feat:
CORDOVA_JAVA_HOME
环境变量 - GH-1222 feat: 为
WebViewAssetLoader
添加向后兼容模式 - GH-1166 feat: 重载
PluginEntry
构造函数以设置 onload 属性 - GH-1208 feat: 允许
appcompat
版本可配置 - GH-1047 feat: 弃用
onRequestPermissionResult
,为了保持一致性,改为使用onRequestPermissionsResult
修复
- GH-1283 fix: 将缺少的 apache-license 标头添加到
getASPath.bat
- GH-1275 fix: 将
WebViewAssetloader
添加到默认允许列表 - GH-1216 fix: 在自定义视图隐藏后请求焦点
- GH-1264 fix: 缺少
super.onRequestPermissionsResult
错误 (MissingSuperCall
) - GH-563 fix(build): 支持 Windows 上的波浪号扩展
- GH-1220 fix(
requirements
检查): 使用正则表达式从 javac 输出获取 java 版本 - GH-1227 fix(prepare): 如果未使用启动画面,则删除启动画面
- GH-1228 fix: java 检查
- GH-1276 fix: 删除强制默认的
gradle.daemon
设置
重构
- GH-1265 refactor: 不要从脚本位置推断项目根目录
- GH-1267 refactor: 使用构建 APK 的目标 SDK 来确定最佳模拟器
- GH-1253 refactor:
gradle
清理 - GH-1260 refactor(
check_reqs
): 从check_android_target
中删除originalError
参数 - GH-1246 refactor(
env/java
): 改进测试和实现
杂项和清理
CI,构建和测试