Android 14真我手机Ionic Capacitor登录报错Missing Feature求助
问题:Android 14真我手机登录报错
Missing Feature{name=auth_api_credentials_begin_sign_in, version=8} 问题详情
- 开发背景:基于Ionic Capacitor开发Android应用,新手开发者
- 报错信息:
ERROR Error: During begin sign in, failure response from one tap: Missing Feature{name=auth_api_credentials_begin_sign_in, version=8} - 影响范围:仅Android 14系统的真我手机出现该问题,其他设备登录功能正常
项目依赖配置(package.json)
{ "dependencies": { "@angular/animations": "^18.0.0", "@angular/common": "^18.0.0", "@angular/compiler": "^18.0.0", "@angular/core": "^18.0.0", "@angular/fire": "^18.0.1", "@angular/forms": "^18.0.0", "@angular/platform-browser": "^18.0.0", "@angular/platform-browser-dynamic": "^18.0.0", "@angular/router": "^18.0.0", "@awesome-cordova-plugins/cashfree-pg": "^6.14.0", "@awesome-cordova-plugins/core": "^6.14.0", "@capacitor-community/firebase-analytics": "^6.0.0", "@capacitor-community/privacy-screen": "^6.0.0", "@capacitor-firebase/authentication": "^7.0.0", "@capacitor-firebase/crashlytics": "^7.0.0", "@capacitor/android": "7.0.1", "@capacitor/app": "7.0.0", "@capacitor/core": "7.0.1", "@capacitor/haptics": "7.0.0", "@capacitor/inappbrowser": "2.0.0", "@capacitor/keyboard": "7.0.0", "@capacitor/local-notifications": "^7.0.0", "@capacitor/network": "^7.0.0", "@capacitor/push-notifications": "^7.0.0", "@capacitor/share": "^7.0.0", "@capacitor/splash-screen": "^7.0.0", "@capacitor/status-bar": "7.0.0", "@capawesome/capacitor-app-update": "^7.0.0", "@ionic/angular": "^8.4.2", "cordova-plugin-cashfree-pg": "^1.0.7", "echarts": "^5.5.1", "in.agristart.agristartexam": "file:", "ionicons": "^7.4.0", "marked": "^15.0.6", "nedb-promises": "^6.2.3", "rxjs": "~7.8.0", "ss-search": "^1.9.0", "swiper": "^11.1.7", "zone.js": "~0.14.2" }, "devDependencies": { "@angular-devkit/build-angular": "^18.0.0", "@angular-eslint/builder": "^18.0.0", "@angular-eslint/eslint-plugin": "^18.0.0", "@angular-eslint/eslint-plugin-template": "^18.0.0", "@angular-eslint/schematics": "^18.0.0", "@angular-eslint/template-parser": "^18.0.0", "@angular/cli": "^18.0.0", "@angular/compiler-cli": "^18.0.0", "@angular/language-service": "^18.0.0", "@capacitor/assets": "^3.0.5", "@capacitor/cli": "7.0.1", "@ionic/angular-toolkit": "^12.0.0", "@types/jasmine": "~5.1.0", "@types/node": "^22.2.0", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.57.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsdoc": "^48.2.1", "eslint-plugin-prefer-arrow": "1.2.2", "jasmine-core": "~5.1.0", "jasmine-spec-reporter": "~5.0.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.2.0", "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "tslib": "^2.6.3", "typescript": "~5.4.0" } }
解决方案
1. 升级Capacitor Firebase Authentication插件
当前使用的@capacitor-firebase/authentication 7.0.0版本对Android 14的One Tap登录支持不足,升级到最新稳定版:
npm install @capacitor-firebase/authentication@latest npx cap sync android
2. 更新Google Play Services
真我手机的Google Play Services版本过低可能导致不支持该特性:
- 打开Google Play商店,搜索「Google Play服务」
- 点击「更新」安装最新版本
- 重启手机后重新测试登录
3. 添加登录降级逻辑
捕获错误并切换到Web视图登录作为 fallback:
import { FirebaseAuthentication } from '@capacitor-firebase/authentication'; async function signInWithGoogle() { try { await FirebaseAuthentication.signInWithGoogle({ skipNativeAuth: false, oneTapEnabled: true, }); } catch (error) { const errMsg = (error as Error).message; if (errMsg.includes('auth_api_credentials_begin_sign_in')) { // 降级到Web视图登录 await FirebaseAuthentication.signInWithGoogle({ skipNativeAuth: true, }); } else { throw error; } } }
4. 验证Android项目依赖
检查android/app/build.gradle中的Firebase Auth依赖版本,确保与插件匹配:
dependencies { // 使用足够高的Firebase Auth版本 implementation 'com.google.firebase:firebase-auth:22.3.1' }
内容的提问来源于stack exchange,提问作者Satyajit Behera
相关产品推荐
相关产品推荐

