I have been successfully using the cordova-plugin-fingerprint-aio plugin and the Ionic native wrapper for a while. Now when I run on an Android device I get a ‘plugin_not_installed’ error:
WARN: Native: tried calling FingerprintAIO.isAvailable, but the FingerprintAIO plugin is not installed.
WARN: Install the FingerprintAIO plugin: 'ionic cordova plugin add cordova-plugin-fingerprint-aio'
The plugin works fine on iOS so it is not an issue with platform ready, or including the provider in the app module.
I have tried uninstalling/reinstalling the plugin, the native wrapper and the android platform.
Relevant code:
import {FingerprintAIO} from '@ionic-native/fingerprint-aio/ngx'
constructor(
protected fingerprintAIO: FingerprintAIO
)
this.fingerprintAIO.isAvailable().then(result => {
// Something
}).catch(error => {
console.log('Unable to check fingerprint feature availability', error, JSON.stringify(error))
})
Info:
Ionic:
Ionic CLI : 5.4.14 (/Users/me/.nvm/versions/node/v13.1.0/lib/node_modules/ionic)
Ionic Framework : @ionic/angular 4.11.7
@angular-devkit/build-angular : 0.803.22
@angular-devkit/schematics : 8.3.22
@angular/cli : 8.3.22
@ionic/angular-toolkit : 2.1.1
Cordova:
Cordova CLI : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : android 7.1.4, browser 6.0.0, ios 5.1.1
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 28 other plugins)
Utility:
cordova-res (update available: 0.9.0) : 0.8.1
native-run : 0.3.0
System:
Android SDK Tools : 26.1.1 (/Users/me/Library/Android/sdk)
ios-deploy : 1.10.0
ios-sim : 8.0.2
NodeJS : v13.1.0 (/Users/me/.nvm/versions/node/v13.1.0/bin/node)
npm : 6.12.1
OS : macOS Catalina
Xcode : Xcode 11.3 Build version 11C29
Plugins:
com-sarriaroman-photoviewer 1.1.18 "PhotoViewer"
cordova-plugin-add-swift-support 2.0.2 "AddSwiftSupport"
cordova-plugin-advanced-http 2.3.1 "Advanced HTTP plugin"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-appavailability 0.4.2 "AppAvailability"
cordova-plugin-camera 4.1.0 "Camera"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-device-motion 2.0.1 "Device Motion"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-fingerprint-aio 3.0.1 "FingerprintAllInOne"
cordova-plugin-inappbrowser 3.2.0 "InAppBrowser"
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 4.1.3 "cordova-plugin-ionic-webview"
cordova-plugin-ios-camera-permissions 1.2.0 "iOS Permissions"
cordova-plugin-media 5.0.3 "Media"
cordova-plugin-nativestorage 2.3.2 "NativeStorage"
cordova-plugin-photo-library 2.2.1 "Photo Library"
cordova-plugin-safariviewcontroller 1.6.0 "SafariViewController"
cordova-plugin-secure-storage 3.0.1 "SecureStorage"
cordova-plugin-shake 0.7.0 "Shake Gesture Detection"
cordova-plugin-splashscreen 5.0.3 "Splashscreen"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-telerik-imagepicker 2.2.4 "ImagePicker"
cordova-plugin-whitelist 1.3.4 "Whitelist"
cordova-plugin-youtube-video-player 2.3.0 "CordovaYoutubeVideoPlayer"
cordova-sqlite-storage 3.1.0 "Cordova sqlite storage plugin - cordova-sqlite-storage plugin version"
cordova-support-google-services 1.3.2 "cordova-support-google-services"
info.protonet.imageresizer 0.1.1 "Image Resizer"
nl.x-services.plugins.backgroundaudio 1.0.1 "BackgroundAudio"
phonegap-plugin-multidex 1.0.0 "Multidex"
phonegap-plugin-push 2.3.0 "PushPlugin"
sentry-cordova 0.17.0 "Sentry"
package.json
{
"name": "appname",
"version": "1.4.8",
"description": "appdesc",
"license": "SEE LICENSE IN license.txt",
"author": "",
"homepage": "",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/common": "8.2.14",
"@angular/core": "8.2.14",
"@angular/forms": "8.2.14",
"@angular/platform-browser": "8.2.14",
"@angular/platform-browser-dynamic": "8.2.14",
"@angular/router": "8.2.14",
"@ionic-native/app-availability": "5.19.1",
"@ionic-native/app-version": "5.19.1",
"@ionic-native/camera": "5.19.1",
"@ionic-native/core": "5.19.1",
"@ionic-native/device": "5.19.1",
"@ionic-native/facebook": "5.7.0",
"@ionic-native/file": "5.19.1",
"@ionic-native/file-transfer": "5.19.1",
"@ionic-native/fingerprint-aio": "5.22.0",
"@ionic-native/google-plus": "5.7.0",
"@ionic-native/http": "5.19.1",
"@ionic-native/image-picker": "5.19.1",
"@ionic-native/image-resizer": "5.19.1",
"@ionic-native/in-app-browser": "5.19.1",
"@ionic-native/ionic-webview": "5.19.1",
"@ionic-native/media": "5.19.1",
"@ionic-native/native-storage": "5.19.1",
"@ionic-native/photo-library": "5.19.1",
"@ionic-native/photo-viewer": "5.19.1",
"@ionic-native/push": "5.19.1",
"@ionic-native/safari-view-controller": "5.19.1",
"@ionic-native/secure-storage": "5.19.1",
"@ionic-native/shake": "5.22.0",
"@ionic-native/splash-screen": "5.19.1",
"@ionic-native/sqlite": "5.19.1",
"@ionic-native/status-bar": "5.19.1",
"@ionic-native/twitter-connect": "5.7.0",
"@ionic-native/youtube-video-player": "5.19.1",
"@ionic/angular": "4.11.7",
"@ionic/core": "4.11.7",
"@ionic/storage": "2.2.0",
"@sentry/cli": "^1.49.0",
"@sentry/wizard": "1.0.2",
"ajv": "6.10.2",
"angular-linky": "1.2.2",
"angular-mentions": "file:../angular-mentions2/dist/angular-mentions/angular-mentions-1.0.2.tgz",
"com-sarriaroman-photoviewer": "1.1.18",
"cordova-android": "7.1.4",
"cordova-browser": "^6.0.0",
"cordova-ios": "^5.1.1",
"cordova-plugin-add-swift-support": "2.0.2",
"cordova-plugin-advanced-http": "2.3.1",
"cordova-plugin-app-version": "0.1.9",
"cordova-plugin-appavailability": "0.4.2",
"cordova-plugin-camera": "4.1.0",
"cordova-plugin-device": "2.0.3",
"cordova-plugin-device-motion": "^2.0.1",
"cordova-plugin-file": "6.0.2",
"cordova-plugin-file-transfer": "1.7.1",
"cordova-plugin-fingerprint-aio": "3.0.1",
"cordova-plugin-inappbrowser": "3.2.0",
"cordova-plugin-ionic-keyboard": "2.2.0",
"cordova-plugin-ionic-webview": "4.1.3",
"cordova-plugin-ios-camera-permissions": "1.2.0",
"cordova-plugin-media": "5.0.3",
"cordova-plugin-nativestorage": "2.3.2",
"cordova-plugin-photo-library": "git+https://github.com/dride/cordova-plugin-photo-library.git",
"cordova-plugin-safariviewcontroller": "1.6.0",
"cordova-plugin-secure-storage": "3.0.2",
"cordova-plugin-shake": "^0.7.0",
"cordova-plugin-splashscreen": "5.0.3",
"cordova-plugin-statusbar": "2.4.3",
"cordova-plugin-telerik-imagepicker": "git+https://github.com/Telerik-Verified-Plugins/ImagePicker.git",
"cordova-plugin-whitelist": "1.3.4",
"cordova-plugin-youtube-video-player": "git+https://github.com/ihadeed/CordovaYoutubeVideoPlayer.git",
"cordova-sqlite-storage": "3.2.0",
"cordova-support-google-services": "1.3.2",
"core-js": "3.6.3",
"flatted": "2.0.1",
"hammerjs": "2.0.8",
"info.protonet.imageresizer": "^0.1.1",
"ios-deploy": "1.10.0",
"moment": "2.24.0",
"ngx-socket-io": "3.0.1",
"nl.x-services.plugins.backgroundaudio": "^1.0.1",
"nl2br-pipe": "1.2.3",
"phonegap-plugin-multidex": "1.0.0",
"phonegap-plugin-push": "2.3.0",
"rxjs": "6.5.4",
"rxjs-compat": "6.5.4",
"sentry-cordova": "^0.17.0",
"socket.io": "2.3.0",
"socket.io-client": "2.3.0",
"throttle-debounce": "2.1.0",
"tsickle": "0.34.3",
"zone.js": "0.10.2"
},
"devDependencies": {
"@angular-devkit/architect": "~0.803.22",
"@angular-devkit/build-angular": "~0.803.22",
"@angular-devkit/build-ng-packagr": "~0.803.22",
"@angular-devkit/core": "~8.3.22",
"@angular-devkit/schematics": "~8.3.22",
"@angular/cli": "~8.3.22",
"@angular/compiler": "^8.2.14",
"@angular/compiler-cli": "^8.2.14",
"@angular/language-service": "^8.2.14",
"@ionic/angular-toolkit": "^2.1.1",
"@types/jasmine": "^3.5.0",
"@types/jasminewd2": "^2.0.8",
"@types/node": "^13.1.6",
"codelyzer": "^5.2.1",
"jasmine-core": "^3.5.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^4.4.1",
"karma-chrome-launcher": "^3.1.0",
"karma-coverage-istanbul-reporter": "^2.1.1",
"karma-jasmine": "^3.1.0",
"karma-jasmine-html-reporter": "^1.5.1",
"ng-packagr": "^5.7.1",
"protractor": "~5.4.0",
"ts-node": "^8.6.1",
"tslib": "^1.10.0",
"tslint": "^5.20.1",
"typescript": "^3.5.3"
},
"cordova": {
"plugins": {
"cordova-plugin-file-transfer": {},
"cordova-plugin-app-version": {},
"cordova-plugin-nativestorage": {},
"cordova-plugin-ios-camera-permissions": {
"CAMERA_USAGE_DESCRIPTION": "This app needs camera access",
"MICROPHONE_USAGE_DESCRIPTION": "This app needs microphone access",
"PHOTOLIBRARY_ADD_USAGE_DESCRIPTION": "This app needs write-access to photo library",
"PHOTOLIBRARY_USAGE_DESCRIPTION": "This app needs read/write-access photo library access"
},
"cordova-plugin-safariviewcontroller": {},
"cordova-plugin-secure-storage": {},
"cordova-sqlite-storage": {},
"cordova-plugin-appavailability": {},
"cordova-plugin-telerik-imagepicker": {
"PHOTO_LIBRARY_USAGE_DESCRIPTION": "This app needs read photo library access"
},
"cordova-support-google-services": {},
"phonegap-plugin-push": {
"ANDROID_SUPPORT_V13_VERSION": "27.+",
"FCM_VERSION": "17.0.+"
},
"cordova-plugin-add-swift-support": {},
"cordova-plugin-photo-library": {
"PHOTO_LIBRARY_USAGE_DESCRIPTION": "To choose pictures"
},
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
},
"cordova-plugin-youtube-video-player": {},
"cordova-plugin-inappbrowser": {},
"cordova-plugin-ionic-keyboard": {},
"cordova-plugin-camera": {
"ANDROID_SUPPORT_V4_VERSION": "27.+"
},
"cordova-plugin-advanced-http": {
"OKHTTP_VERSION": "3.10.0"
},
"cordova-plugin-device": {},
"cordova-plugin-file": {},
"cordova-plugin-media": {
"KEEP_AVAUDIOSESSION_ALWAYS_ACTIVE": "NO"
},
"cordova-plugin-splashscreen": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-whitelist": {},
"com-sarriaroman-photoviewer": {},
"cordova-plugin-shake": {},
"info.protonet.imageresizer": {},
"nl.x-services.plugins.backgroundaudio": {},
"sentry-cordova": {
"SENTRY_ANDROID_SDK_VERSION": "1+"
},
"cordova-plugin-fingerprint-aio": {
"FACEID_USAGE_DESCRIPTION": "Login now..."
}
},
"platforms": [
"browser",
"android",
"ios"
]
},
"config": {
"ionic_generate_source_map": "true"
}
}
Any suggestions would be much appreciated, thanks.