我已将 cordova-android 升级到版本 11 以支持 API 级别 31 或更高版本,但是当我创建构建时出现错误无法读取 null 的属性“find”
我已按照此处的建议进行了更改迁移到 Cordova-Android 11 在 Config.xml
<preference name="AndroidWindowSplashScreenAnimatedIcon" value="resources/android/icon/drawable-xxxhdpi-icon.png" />
删除了所有
<splash>
标签并
已卸载
cordova-plugin-splashscreen
和
cordova-plugin-androidx-adapter
仍然出现错误,请帮忙
我也遇到过同样的问题。 正如这里所建议的,这是由一些插件引起的。
就我而言,插件是: 科尔多瓦插件 Telerik-imagepicker PhoneGap-插件-条形码扫描仪
它们实际上不再维护了,所以我不得不使用这些叉子,两者都是为同一个人使用的: https://github.com/geraldapeoples/phonegap-plugin-barcodescanner https://github.com/geraldapeoples/ImagePicker
使用分叉插件并不是一个好的做法,但我找不到其他可以正确完成工作的插件,而且没有时间或技能自己开发一个新插件。
迁移到 cordova-android 11 并不是一条简单的道路,但 Cristian Zumelzu 上面建议的文档涵盖了我遇到的大部分问题。
我将其添加到我的 config.xml 中 它有效!!
<platform name="android">
...
<config-file parent="/resources" target="app/src/main/res/values/themes.xml">
<style name="Theme.App.SplashScreen" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">#FFFFFF</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/notification_icon.png</item>
<item name="windowSplashScreenBrandingImage">@drawable/notification_icon.png</item>
<item name="windowSplashScreenIconBackgroundColor">#FFFFFF</item>
<item name="windowSplashScreenAnimationDuration">1000</item>
<item name="postSplashScreenTheme">@style/MyTheme</item>
</style>
</config-file>
...
</platform>
问题似乎是由其中一个插件出现的。我多次遇到这个问题,因此在安装任何新插件之前我总是保留整个项目的备份
执行以下任务应该会有所帮助
cordova 平台删除 android
然后
cordova平台添加android@latest
尝试仅使用 android 而不是 @latest,以防出现相同的错误。
有时 json 文件会存储信息,然后当您撤销更改时永远不会删除它。
当您尝试更新到 cordova-android 11 时会遇到很多问题。我建议您按照本文中的详细步骤进行正确升级 https://ionic.zendesk.com/hc/en-us/articles/7891143965975-Migration-to-Cordova-Android-11
我还必须将“types”:[]添加到tsconfig.js中的“compilerOptions”中 之后我解决了我的问题
您能分享整个错误吗?升级到 cordova-android-11 以及升级到使用 targetSDK 31 时都会出现一些问题(您是同时执行这两个操作吗?还是您已经在使用 targetSDK31?)。 这是一个相当标准的错误。需要检查的一些事项:
npm i [email protected]
,因为iOS仍然需要该插件(如果你使用此版本标签,则不会为Android添加该插件)。如果您可以分享更多细节,您可以获得更准确的建议。
此问题通常在您更新到 cordova-android >=11 后相关。
发生这种情况是因为您的插件之一或在 config.xml 中您正在定义一些主题,例如。
<resources>
<style name="MyTheme" parent="android:Theme.Holo.Light">
</style>
</resources>
具体来说,我的例子是插件 cordova-plugin-telerik-imagepicker。
还没更新。您需要从插件的 config.xml 中删除它(引用资源)
<resource-file src="src/android/Library/res/values/themes.xml" target="res/values/themes.xml"/>
我使用最后的更改创建了一个分支,允许在 cordova-android 12 上运行插件 https://github.com/ZumelzuR/ImagePicker.git
无论如何,您正在使用的其他插件也可能会发生这种情况