在 android 上构建和运行应用程序时添加cordova-plugin-androidx
并cordova-plugin-androidx-adapter
导致崩溃。这两个插件都是作为依赖安装的, cordova-plugin-firebasex
应用程序成功构建,但是当在模拟器中运行时出现崩溃,应用程序运行到启动画面然后退出。
重现步骤:
- 启动 ionic 1 项目
- 添加cordova android 9.0.0平台
- 安装
cordova-plugin-firebasex
插件 - 在模拟器中运行应用程序
我的config.xml
<?xml version='1.0' encoding='utf-8'?>
<widget id="test.test.test.test" version="1.1.7" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:tools="http://schemas.android.com/tools">
<name>test</name>
<description>
test
</description>
<author email="test" href="http://example.com.com/">
test
</author>
<content src="index.html" />
<access origin="*" />
<preference name="android-minSdkVersion" value="22" />
<preferance name="android-usesCleartextTraffic" value="true" />
<preference name="webviewbounce" value="false" />
<preference name="UIWebViewBounce" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="SplashScreenDelay" value="4500" />
<preference name="FadeSplashScreenDuration" value="750" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashScreen" value="screen" />
<feature name="StatusBar">
<param name="ios-package" onload="true" value="CDVStatusBar" />
</feature>
<platform name="android">
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
<preference name="loadUrlTimeoutValue" value="700000" />
<resource-file src="google-services.json" target="app/google-services.json" />
</platform>
<icon src="resources\android\icon\drawable-xhdpi-icon.png" />
<allow-navigation href="http://quotes.wsj.com/" />
<allow-navigation href="*" />
<allow-navigation href="http://*/*" />
<allow-navigation href="https://*/*" />
<allow-navigation href="data:*" />
<plugin name="cordova-plugin-console" spec="^1.0.7" />
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-facebook" spec="^0.2.2">
<variable name="FACEBOOK_DISPLAY_NAME" value="test" />
<variable name="FACEBOOK_APP_ID" value="test" />
</plugin>
<plugin name="cordova-plugin-inappbrowser" spec="^1.7.1" />
<plugin name="cordova-plugin-splashscreen" spec="^4.0.3" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
<plugin name="ionic-plugin-keyboard" spec="^2.2.1" />
<plugin name="cordova-plugin-ionic-webview" spec="^4.0.0" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<allow-navigation href="http://192.168.0.116:8100" />
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
<application android:usesCleartextTraffic="true" />
</edit-config>
<plugin name="cordova-plugin-x-toast" spec="^2.7.2" />
<plugin name="cordova-plugin-admob-free" spec="^0.27.0">
<variable name="ADMOB_APP_ID" value="test" />
</plugin>
</widget>
我的package.json
"name": "test",
"version": "1.1.1",
"description": "test",
"dependencies": {
"@angular/animations": "^5.2.8",
"bower": "^1.8.8",
"cordova-admob-sdk": "^0.24.1",
"cordova-browser": "^6.0.0",
"cordova-plugin-admob-free": "^0.27.0",
"cordova-plugin-androidx": "^2.0.0",
"cordova-plugin-androidx-adapter": "^1.1.1",
"cordova-plugin-console": "^1.1.0",
"cordova-plugin-device": "^1.1.7",
"cordova-plugin-enable-multidex": "^0.2.0",
"cordova-plugin-facebook": "^0.2.2",
"cordova-plugin-firebase-analytics": "^4.3.0",
"cordova-plugin-firebase-dynamiclinks": "^4.4.0",
"cordova-plugin-firebasex": "^9.1.2-cli",
"cordova-plugin-inappbrowser": "^1.7.2",
"cordova-plugin-splashscreen": "^4.1.0",
"cordova-plugin-whitelist": "^1.3.4",
"cordova-plugin-x-toast": "^2.7.2",
"cordova-promise-polyfill": "0.0.2",
"cordova-support-android-plugin": "^1.0.2",
"cordova-support-google-services": "1.4.0",
"gulp": "^3.5.6",
"gulp-clean-css": "^4.3.0",
"gulp-concat": "^2.2.0",
"gulp-rename": "^1.2.0",
"gulp-sass": "^3.1.0",
"ionic-plugin-keyboard": "^2.2.1",
"ng-cordova-oauth": "^0.3.0",
"node-sass": "^5.0.0",
"shelljs": "^0.8.3"
},
"platforms": [
"android"
],
"cordova": {
"platforms": [
"browser",
"android"
],
"plugins": {
"cordova-plugin-console": {},
"cordova-plugin-device": {},
"cordova-plugin-facebook": {
"FACEBOOK_DISPLAY_NAME": "test",
"FACEBOOK_APP_ID": "test"
},
"cordova-plugin-inappbrowser": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-whitelist": {},
"ionic-plugin-keyboard": {},
"cordova-plugin-x-toast": {},
"cordova-plugin-admob-free": {
"ADMOB_APP_ID": "test"
},
"cordova-support-google-services": {},
"cordova-plugin-firebasex": {
"FIREBASE_ANALYTICS_COLLECTION_ENABLED": "true",
"FIREBASE_PERFORMANCE_COLLECTION_ENABLED": "true",
"FIREBASE_CRASHLYTICS_COLLECTION_ENABLED": "true"
},
"cordova-plugin-enable-multidex": {},
"cordova-plugin-firebase-dynamiclinks": {
"PAGE_LINK_DOMAIN": "vindexscreener.page.link",
"FIREBASE_DYNAMIC_LINKS_VERSION": "19.1.+"
},
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
}
}
},
"devDependencies": {
"@ionic/v1-toolkit": "2.0.17",
"cordova-android": "^9.0.0",
"cordova-plugin-ionic-webview": "^4.2.1",
"ionic": "5.4.16"
}
}