【发布时间】:2021-05-12 22:19:16
【问题描述】:
我有一个使用 mapkit 插件的 7 岁的 Cordova Android 应用程序。该插件将mainView 拆分为webView 和mapView。随着时间的推移,我们添加了功能,并且构建到 API 级别 26 就很好,并且应用程序正在运行。现在 Google 要求至少将 API 级别 28 设为targetSdkVersion。所以我在cordova项目的config.xml(当前使用cordova 7.1)中唯一改变的是android-targetSdkVersion到28。构建cordova build --release android工作得很好,但是当我在模拟器或电话上运行应用程序时( Android 版本 9),应用程序崩溃。但是使用 API 级别 26 构建,应用程序在两者上都可以正常运行。
插件使用com.google.android.gms.maps.MapView。相关代码在MapKit.java文件的showMap函数中。当我注释掉mapView.onCreate(null) 行时,应用程序不会崩溃,但似乎不再有谷歌地图了。
为什么mapView.onCreate(null) 适用于 API 级别 26,但不适用于 API 级别 28?需要更改哪些内容才能让 Google 地图在 API 级别 28 中运行?
【问题讨论】:
标签: android cordova gmsmapview android-api-levels