【发布时间】:2020-04-03 19:05:40
【问题描述】:
这一直是一个令人头疼的怪物,试图弄清楚发生了什么。
我有一个我一直在开发和维护的 android 应用程序。我最新的测试设备是在 android 9 上运行的,没有任何问题。我目前遇到问题的许多文件都是该项目的一部分,当时这些操作系统正处于最流行的时期。
为了保持广泛的兼容性范围,我的目标是让这个应用程序在 android 5 到 9 上运行
调试步骤
- 我已着手更新可能导致问题的插件
- 在真实硬件和仿真上测试
- 将
let替换为var - 添加了控制台日志记录以查看完整的堆栈跟踪
错误
- 在 Android 4、5、6 上,当它尝试加载
jquery-1.8.1.js时,它会返回以下错误,导致整个应用程序崩溃。堆栈跟踪似乎没什么帮助。
Uncaught SyntaxError: Unexpected token =
堆栈跟踪
- 在 Android 5,6 上
未捕获的 SyntaxError:在严格模式之外尚不支持块范围的声明(let、const、函数、类)
我想这是由于操作系统的年龄所致。不知道如何通过整个应用程序启用严格模式,或者即使这是一件好事。目前,我已将所有 let 替换为 var 以解决此问题。不是我喜欢的解决方案,如果您有更好的解决方案,请告诉我。
设置
创意
vs代码 Android Studio:(不知道为什么其中一个可以同时做到) * 3.6.1 用于运行 x86 的模拟器 * 3.4.0 连接到我的测试设备
测试设备
- 三星 Galaxy 9 - Android 9 - 工作
- HTC 10 - Android 8 - 工作
- HTC One - Android 6 - 失败
- Raspberry Pi 2 - Android 5 - 仍在启动。大声笑:'(
测试模拟器
全部使用 LGVK700 的硬件配置文件并运行 x86_64
- Android 9 - 工作
- Android 8 - 工作
- Android 7 - 工作
- Android 6 - 失败
- Android 5 - 失败
- Android 4 - 失败
设置文件
这是在 Cordova 8.1.2 (cordova-lib@8.1.1) 上运行的
config.xml:
<preference name="android-minSdkVersion" value="19" />
<preference name="android-targetSdkVersion" value="28" />
Cordova 插件和平台
$ cordova plugins
cordova-android-support-gradle-release 2.0.1 "cordova-android-support-gradle-release"
cordova-plugin-actionsheet 2.3.3 "ActionSheet"
cordova-plugin-appminimize 1.0.1 "AppMinimize"
cordova-plugin-camera 4.0.3 "Camera"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-dialogs 2.0.1 "Notification"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-file-opener2 2.2.0 "File Opener2"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-geolocation 4.0.1 "Geolocation"
cordova-plugin-inappbrowser 3.2.0 "InAppBrowser"
cordova-plugin-media-capture 3.0.2 "Capture"
cordova-plugin-network-information 2.0.1 "Network Information"
cordova-plugin-save-image 0.3.0 "SaveImage"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
uk.co.workingedge.phonegap.plugin.launchnavigator 4.2.2 "Launch Navigator"
$ cordova platforms
Installed platforms:
android 8.1.0
ios 5.0.1
支持
我已验证 cordova 应该支持 4.4、5 和 6
目标版本
【问题讨论】:
标签: android cordova android-5.0-lollipop android-6.0-marshmallow android-4.4-kitkat