部落格 RSS 訂閱

Cordova Android 7.0.0 發佈!
作者:Joe Bowser
2017年12月4日

我們很高興宣佈 Cordova Android 7.0.0 已發佈!

在此版本中,我們變更了 Android 專案的預設專案結構。目前使用 CLI 並將 platforms 目錄中的所有內容視為建置產出的人員,應該不會注意到差異。

然而,對於建立獨立 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 的情況下取得 context
  • 在建置使用 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 android@7.0.0

若要明確新增它

cordova platform add android@7.0.0

精選變更日誌

  • 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 架構的 flavors
  • CB-13602 我們設定的路徑錯誤,這很 hacky 但它有效
  • CB-13601 修復獨立執行腳本,以確保在不使用 CLI 的情況下可以正常運作
  • CB-13580 修復多個 APK(不同的 product flavors)的建置
  • 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 Builder 以根據 Android Studio 建置專案,並刪除 Ant,因為 Google 不再支援 Ant 建置。抱歉!