博客 RSS订阅

Cordova Android 7.0.0 发布!
作者:Joe Bowser
2017年12月04日

我们很高兴地宣布 Cordova Android 7.0.0 已经发布!

在此版本中,我们更改了 Android 项目的默认项目结构。目前使用 CLI 并将平台目录中的所有内容视为构建工件的人员,应该不会注意到任何差异。

然而,对于创建独立的 Cordova Android 项目的人员来说,这是一个重大的突破性更改。这也意味着文件的位置已更改,并与 Android Studio 使用的结构保持一致。
这可能会影响使用 edit-config 的 plugin.xml 文件和 config.xml 文件,并导致使用 edit-config 的插件无法同时兼容 Android 6.x 和 Android 7.x。要解决此问题,请在您的 XML 文件中执行以下操作

<!-- An existing config.xml -->
<edit-config file="AndroidManifest.xml" target="/manifest/application" mode="merge">

<!-- needs to change to -->
<edit-config file="app/src/main/AndroidManifest.xml" target="/manifest/application" mode="merge">

主要更改包括

  • 在 Cordova 插件中支持 Java 1.8 语言特性
  • CordovaInterface 现在有一个 Context getter,以便可以在没有 Activity 的情况下检索上下文
  • 当构建使用 NDK 的插件时,Cordova 现在可以为 x86_64、arm64 和 armeabi 架构进行构建
  • 支持的最低 Android API 版本现在是 API Level 19
  • 由于目录结构的更改,我们不再支持在线升级,这与 iOS 保持一致
  • 不再支持 ANT 构建,并且已删除该功能。

升级方法

npm install -g cordova
cd my_project
cordova platform remove android
cordova platform add [email protected]

显式添加

cordova platform add [email protected]

精选变更日志

  • CB-13612 修复重映射器,以便 XML 文件可以复制,并且相机可以再次工作。
  • CB-13741 提升 package.json,以便我们可以安装插件
  • CB-13610 压缩默认的应用程序资源
  • CB-12835 在 CordovaInterface 中添加一个 Context getter
  • CB-8976cdvVersionCodeForceAbiDigit 标志添加到模板 build.gradle,当未设置 cdvBuildMultipleApks 时,将 0 附加到 versionCode
  • CB-12291 (android) 添加 x86_64、arm64 和 armeabi 架构风味
  • CB-13602 我们设置路径错误,这有点 hacky 但它有效
  • CB-13601 修复独立的运行脚本,以确保在不使用 CLI 的情况下也能正常工作
  • CB-13580 修复多个 apk(不同的产品风味)的构建
  • CB-13558 升级 gradle,以便我们可以上传 AAR
  • CB-13297 一旦你提升了项目结构,它就可以正常工作了。内置 Java 1.8 兼容性
  • CB-11244 Android Studio 3 工作,平台构建方式已更改
  • CB-11244 发现 gradle 子项目更改实际上没有写入正确的 gradle 文件的错误
  • CB-13470 修复 Clean,以便它可以清理 Android Studio 结构
  • CB-11244Android Studio 项目中的资源文件添加规范
  • CB-11244 添加了可绘制对象的重映射
  • CB-11244 在 Api.js 中发现错误,其中使用了 xml/strings.xml 而不是 values/strings.xml
  • CB-11244 设置 Api.js 以支持基于项目结构的多个构建器
  • CB-11244 更改目录创建,很可能会在下一个 cordova-android 版本中将其隐藏在标志后面,然后在下一个主要版本中使其成为默认设置,等待反馈
  • 添加 Studio 构建器以基于 Android Studio 构建项目,并删除 Ant,因为 Google 不再支持 Ant 构建。抱歉!