我們很高興宣布,我們剛剛發佈了 Cordova Android 10.0.0
!這是 Cordova 用於構建 Android 行動應用程式的支援平台之一。
升級方式
cordova platform remove android
cordova platform add android@10.0.0
版本重點
-
僅支援
AndroidX
在此版本中,我們已完全遷移到 AndroidX 程式庫,不再支援 Android Support Library。所有繼續使用 Android Support Library 的外掛程式都需要更新以參考新的 AndroidX 程式庫。
如果外掛程式尚未更新,您仍然可以使用 cordova-plugin-androidx-adapter 外掛程式,該外掛程式可用於將舊的參考遷移到新的 AndroidX 參考。
-
WebViewAssetLoader
支援預設情況下,
WebViewAssetLoader
已啟用,並允許應用程式從「適當」的來源提供其內容。這將使 Angular 等框架的路由更容易運作。在沒有其他設定的情況下,應用程式內容從
https://127.0.0.1/
提供。您可以通過設定偏好選項hostname
來配置主機名稱。<preference name="hostname" value="localhost" />
方案
https
本質上是不可配置的。請注意,這是一個重大變更,將導致與
file://
方案關聯的數據遺失,例如 cookie、本地儲存、本地快取和基於網路的資料庫。您需要處理數據的遷移。如果您目前無法遷移數據,您可以通過設定AndroidInsecureFileModeEnabled
偏好標誌來還原此設定。<preference name="AndroidInsecureFileModeEnabled" value="true" />
設定此標誌會將內容保留在
file://
方案上,Google 報告此方案是不安全的。 -
Android 應用程式套件
aab
支援預設情況下,發佈版本現在將為發佈生成
aab
格式的套件類型。本質上,
aab
套件無法手動部署或推送到裝置進行測試。如果您需要測試發佈版本,您需要使用packageType
標誌將套件類型改回apk
。偵錯版本將繼續建立
apk
格式的套件。 -
工具和預設支援升級
- 目標 SDK (
targetSdk
):30
- SDK 建置工具:
30.0.3
- Gradle:
7.1.1
- Kotlin:
1.5.20
- Android Gradle Plugin (AGP):
4.2.2
- Google Services Gradle Plugin:
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
和build-tool@30.0.3
- GH-1257 feat!:升級
gradle@7.1.1
- GH-1197 feat!:升級
gradle@6.8.3
- GH-1256 feat!:升級
kotlin@1.5.20
- GH-1204 feat!:升級
kotlin@1.4.32
- GH-1200 feat!:升級
kotlin@1.4.31
- GH-1255 feat!:升級
android-gradle-plugin@4.2.2
- GH-1232 feat!:升級
android-gradle-plugin@4.2.1
- GH-1198 feat!:升級
android-gradle-plugin@4.1.3
- GH-1199 feat!:升級
Google Services Gradle Plugin@4.3.5
- GH-1262 feat!:升級
appcompat@1.3.0
- GH-1258 feat!:升級
android.webkit@1.4.0
- GH-1252 feat!:移除已廢棄的
com.github.dcendents:android-maven-gradle-plugin
- GH-1212 feat!:統一和修復 gradle 程式庫/工具覆寫
- GH-1138 feat(allow-list)!:整合和重構核心外掛程式
- GH-1201 feat!:升級 jfrog
gradle-bintray-plugin@1.8.5
- 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:在
getASPath.bat
中新增遺失的 apache-license 標頭 - GH-1275 fix:將
WebViewAssetloader
新增至預設允許清單 - GH-1216 fix:在自訂檢視隱藏後請求焦點
- GH-1264 fix:遺失
super.onRequestPermissionsResult
錯誤 (MissingSuperCall
) - GH-563 fix(build):支援 Windows 上的波浪號擴展
- GH-1220 fix(
requirements
檢查):使用 regex 從 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、建置與測試