Ionic Cordova应用无法正常安装到Android设备求助
问题描述
- 已更新电脑所有可更新内容,iOS端编译正常且已发布至App Store。
- 移除并重新添加Android平台,尝试多种编译参数,编译显示
BUILD SUCCESSFUL无报错,使用同一密钥库生成签名包。 - 在Android Studio将应用运行到设备或模拟器时,事件日志显示正常,提示
Launch succeeded,设备上出现应用图标,但点击图标弹出Toast提示Application not installed。 - 未发现任何报错信息,该应用4个月前可正常部署,更新电脑后当前配置下无法运行。
环境配置
Ionic
Ionic CLI : 6.19.0 (/Users/USERNAME/.nvm/versions/node/v14.19.1/lib/node_modules/@ionic/cli) Ionic Framework : @ionic/angular 6.0.16 @angular-devkit/build-angular : 13.3.9 @angular-devkit/schematics : 13.3.9 @angular/cli : 13.3.9 @ionic/angular-toolkit : 6.1.0
Cordova
Cordova CLI : 10.0.0 (cordova-lib@10.1.0) Cordova Platforms : android 10.1.2, ios 6.2.0 Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.2.1, (and 22 other plugins)
工具
cordova-res (update available: 0.15.4) : 0.11.0 native-run (update available: 1.7.0) : 1.4.1
系统
Android SDK Tools : 25.2.3 (/Users/USERNAME/Library/Android/sdk) ios-deploy : 1.11.4 ios-sim : 8.0.2 NodeJS : v14.19.1 (/Users/USERNAME/.nvm/versions/node/v14.19.1/bin/node) npm : 6.14.16 OS : macOS Big Sur Xcode : Xcode 13.0 Build version 13A233
Android Studio
Android Studio Chipmunk 2021.2.1 Patch 2
Java版本
java version "11.0.16" 2022-07-19 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.16+11-LTS-199) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16+11-LTS-199, mixed mode) javac 11.0.16
.zprofile环境变量
export PATH=${PATH}:/Users/USERNAME/Library/Android/sdk/platform-tools:/Users/USERNAME/Library/Android/sdk/tools:/Users/USERNAME/.gradle/wrapper/dists/gradle-7.1.1-all/1wqbeia0d49252rmlcr6o8lbl/gradle-7.1.1/bin:$GRADLE_HOME/bin:$GEM_HOME/bin:/Users/USERNAME/.gem/ruby/2.6.0/bin export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.16.jdk/Contents/Home
Android配置偏好
<preference name="android-minSdkVersion" value="23" /> <preference name="android-compileSdkVersion" value="33" /> <preference name="android-targetSdkVersion" value="31" />
已安装Cordova插件
- cordova-annotated-plugin-android 1.0.4 "cordova-annotated-plugin-android"
- cordova-plugin-add-swift-support 2.0.2 "AddSwiftSupport"
- cordova-plugin-androidx-adapter 1.1.3 "cordova-plugin-androidx-adapter"
- cordova-plugin-androidx 3.0.0 "cordova-plugin-androidx"
- cordova-plugin-app-version 0.1.9 "AppVersion"
- cordova-plugin-badge 0.8.8 "Badge"
- cordova-plugin-device 2.0.3 "Device"
- cordova-plugin-dialogs 2.0.2 "Notification"
- cordova-plugin-email-composer 0.9.2 "EmailComposer"
- cordova-plugin-file 6.0.2 "File"
- cordova-plugin-firebase-analytics 6.1.0 "FirebaseAnalyticsPlugin"
- cordova-plugin-firebase-messaging 6.1.1 "FirebaseMessagingPlugin"
- cordova-plugin-inappbrowser 4.0.0 "InAppBrowser"
- cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
- cordova-plugin-ionic-webview 4.2.1 "cordova-plugin-ionic-webview"
- cordova-plugin-local-notification 0.9.0-beta.3 "LocalNotification"
- cordova-plugin-network-information 2.0.2 "Network Information"
- cordova-plugin-purchases 2.0.0 "Purchases"
- cordova-plugin-splashscreen 5.0.3 "Splashscreen"
- cordova-plugin-statusbar 2.4.3 "StatusBar"
- cordova-plugin-x-toast 2.7.2 "Toast"
- cordova-sqlite-storage 6.0.0 "Cordova SQLite storage plugin - cordova-sqlite-storage plugin version"
- cordova-support-android-plugin 1.0.2 "cordova-support-android-plugin"
- cordova-support-google-services 1.4.0 "cordova-support-google-services"
最近更新的包
"@angular/fire": "~7.4.1", "firebase": "~9.9.3", "cordova-plugin-firebase-analytics": "^6.1.0", "cordova-plugin-firebase-messaging": "^6.1.1",
排查与解决方案
检查签名与包名一致性
- 确认签名密钥库的别名、密码与之前完全一致,避免签名不匹配导致安装失效。
- 核对
config.xml中的包名是否与密钥库绑定的包名完全一致(大小写敏感)。
清理构建缓存
- 执行命令清理Ionic/Cordova缓存:
ionic cordova clean android rm -rf node_modules package-lock.json npm install - 在Android Studio中执行
Build > Clean Project,再Build > Rebuild Project,彻底清除旧构建文件。
- 执行命令清理Ionic/Cordova缓存:
修复Android平台兼容性
- 当前Cordova Android 10.1.2与compileSdkVersion 33存在兼容性问题,建议降级compileSdkVersion到31(与targetSdkVersion统一),或升级Cordova Android到11.x版本适配更高SDK:
<preference name="android-compileSdkVersion" value="31" />
- 当前Cordova Android 10.1.2与compileSdkVersion 33存在兼容性问题,建议降级compileSdkVersion到31(与targetSdkVersion统一),或升级Cordova Android到11.x版本适配更高SDK:
强制卸载重装应用
- 用adb命令检查设备上的应用状态:
adb shell pm list packages | grep 你的应用包名 - 若包名存在但无法启动,强制卸载后重装:
adb uninstall 你的应用包名 ionic cordova run android --prod --release
- 用adb命令检查设备上的应用状态:
更新工具依赖
- 升级cordova-res和native-run到最新版本:
npm install -g cordova-res@latest native-run@latest
- 升级cordova-res和native-run到最新版本:
验证Firebase插件兼容性
- 回退Firebase插件到之前可用的版本,或确认
google-services.json配置与当前Firebase版本匹配,避免插件冲突导致安装异常。
- 回退Firebase插件到之前可用的版本,或确认
内容的提问来源于stack exchange,提问作者jkufrin
相关产品推荐
相关产品推荐

