博客 RSS订阅

Apache Cordova Android 4.0.0
作者: Andrew Grieve
2015年4月15日

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

此版本添加了重要的功能,并引入了一些重大更改。最重要的是,它为 Crosswalk 提供了头等支持 —— 一个捆绑的现代 WebView!

cordova-android@4.0.0 将是下一版 cordova 中的默认 android 版本。如果您迫不及待,可以立即尝试一下

cd my_project
cordova platform update android@4.0.0
cordova plugin add https://github.com/apache/cordova-plugin-whitelist.git#r1.0.0
# To install Crosswalk (optional):
cordova plugin add https://github.com/MobileChromeApps/cordova-plugin-crosswalk-webview.git#1.0.0

主要变更

  • 支持可插拔的 WebViews!
  • 启动画面功能现在通过插件提供
  • 白名单功能已改进
    • 您需要添加新的 cordova-plugin-whitelist 插件才能继续使用白名单
    • 现在支持设置内容安全策略(CSP),这是推荐的白名单方式(详见插件的自述文件)
    • 默认情况下,如果没有此插件,网络请求将被阻止,因此即使允许所有请求,即使您正在使用 CSP,也需要安装此插件。
    • 这个新的白名单经过增强,更加安全和可配置,但仍然可以通过单独的插件获得传统的白名单行为(不推荐)。
    • 注意:虽然不完全属于此版本的一部分,但 cordova-cli 创建的最新默认应用程序将默认包含此插件。

插件开发人员的变更

  • 在 Android Studio 中开发
    • 现在完全支持 Android Studio,并推荐使用它而不是 Eclipse
    • 使用 cordova plugin add ../path/to/my-plugin --link 来为开发 symlink .java 文件
  • 使用 Gradle 构建
    • 所有构建默认使用 Gradle,而不是 Ant
    • 插件可以添加它们自己的 gradle 构建步骤!
    • 插件可以使用 <framework> 标签依赖 Maven 库
  • 新的 API:onStartonStoponConfigurationChanged
  • "onScrollChanged" 消息已删除。请改用 view.getViewTreeObserver().addOnScrollChangedListener(...)
  • CB-8702 为插件提供新的 API,以使用流覆盖 shouldInterceptRequest

其他变更

  • CB-8378 删除了 hidekeyboardshowkeyboard 事件(应用程序应该使用插件代替)
  • CB-8735 bin/create 正则表达式放松 / 更好地支持数字
  • CB-8699 修复 CordovaResourceApi copyResource 在 src= 未压缩的资源时创建零长度文件的问题
  • CB-8693 CordovaLib 不应包含图标/启动画面
  • CB-8592 修复在调用 init() 之前生命周期事件到达 CordovaWebView 时出现的 NPE
  • CB-8588 为来自 showWebPage openExternal=true 的 intent 添加 CATEGORY_BROWSABLE
  • CB-8587 不允许在 showWebPage 中进行未列入白名单的 WebView 导航
  • CB-7827bin/create 添加 --activity-name
  • CB-8548 在存在 debug-signing.properties 和 release-signing.properties 时使用它们
  • CB-8545 不要将布局添加为 WebView 的父级
  • CB-7159<html style="opacity:0"> 时,以及在屏幕旋转期间,不使用 BackgroundColor
  • CB-6630 从核心库中删除了 OkHttp。它现在可以作为插件使用:cordova-plugin-okhttp
  • CB-8484 支持为 Android 创建签名存档