@alexander-soare wrote:
I’m using Ionic4 on Angular with Capacitor and the Cordova Camera Plugin. I installed the plugin as instructed on the Capacitor docs:
npm install cordova-plugin-name npx cap syncEverything builds fine, it’s only when I try to invoke the getPicture method that I get an issue.
Here’s the relevant code from my component:
Import
import { Camera, CameraOptions } from '@ionic-native/camera/ngx';Within my component class:
cameraOptions: CameraOptions = { destinationType: this.camera.DestinationType.FILE_URI, mediaType: this.camera.MediaType.VIDEO, }; onPickVideo() { if (this.platform.is('cordova')) { this.camera .getPicture(this.cameraOptions) .then(videoData => { console.log(videoData); }) .catch(err => { this.filePickerRef.nativeElement.click(); console.log(err); }); } else { this.filePickerRef.nativeElement.click(); } }I can provide the Ionic project
config.xmlon request.I run a development server using
ionic capacitor run android -l --external --consolelogsWhen I press the button that invokes
onPickVideo()I get the following output in Android Studio’s Logcat at Warn level:2019-11-17 20:00:04.958 30163-30362/io.ionic.starter W/System.err: java.lang.ClassNotFoundException: org.apache.cordova.camera.CameraLauncher 2019-11-17 20:00:04.959 30163-30362/io.ionic.starter W/System.err: at java.lang.Class.classForName(Native Method) 2019-11-17 20:00:04.959 30163-30362/io.ionic.starter W/System.err: at java.lang.Class.forName(Class.java:453) 2019-11-17 20:00:04.959 30163-30362/io.ionic.starter W/System.err: at java.lang.Class.forName(Class.java:378) 2019-11-17 20:00:04.959 30163-30362/io.ionic.starter W/System.err: at org.apache.cordova.PluginManager.instantiatePlugin(PluginManager.java:489) 2019-11-17 20:00:04.959 30163-30362/io.ionic.starter W/System.err: at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:169) 2019-11-17 20:00:04.960 30163-30362/io.ionic.starter W/System.err: at org.apache.cordova.PluginManager.exec(PluginManager.java:122) 2019-11-17 20:00:04.960 30163-30362/io.ionic.starter W/System.err: at com.getcapacitor.MessageHandler.callCordovaPluginMethod(MessageHandler.java:70) 2019-11-17 20:00:04.960 30163-30362/io.ionic.starter W/System.err: at com.getcapacitor.MessageHandler.postMessage(MessageHandler.java:46) 2019-11-17 20:00:04.960 30163-30362/io.ionic.starter W/System.err: at android.os.MessageQueue.nativePollOnce(Native Method) 2019-11-17 20:00:04.961 30163-30362/io.ionic.starter W/System.err: at android.os.MessageQueue.next(MessageQueue.java:326) 2019-11-17 20:00:04.961 30163-30362/io.ionic.starter W/System.err: at android.os.Looper.loop(Looper.java:160) 2019-11-17 20:00:04.961 30163-30362/io.ionic.starter W/System.err: at android.os.HandlerThread.run(HandlerThread.java:65) 2019-11-17 20:00:04.962 30163-30362/io.ionic.starter W/System.err: Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.cordova.camera.CameraLauncher" on path: DexPathList[[zip file "/data/app/io.ionic.starter-ZK4SKTdditPynSsm_exuUQ==/base.apk"],nativeLibraryDirectories=[/data/app/io.ionic.starter-ZK4SKTdditPynSsm_exuUQ==/lib/arm64, /system/lib64, /vendor/lib64]] 2019-11-17 20:00:04.962 30163-30362/io.ionic.starter W/System.err: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134) 2019-11-17 20:00:04.962 30163-30362/io.ionic.starter W/System.err: at java.lang.ClassLoader.loadClass(ClassLoader.java:379) 2019-11-17 20:00:04.963 30163-30362/io.ionic.starter W/System.err: at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 2019-11-17 20:00:04.963 30163-30362/io.ionic.starter W/System.err: ... 12 more 2019-11-17 20:00:04.966 30163-30362/io.ionic.starter E/Capacitor: Post message error: java.lang.NullPointerException: Attempt to invoke virtual method 'void org.apache.cordova.CordovaPlugin.privateInitialize(java.lang.String, org.apache.cordova.CordovaInterface, org.apache.cordova.CordovaWebView, org.apache.cordova.CordovaPreferences)' on a null object reference at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:171) at org.apache.cordova.PluginManager.exec(PluginManager.java:122) at com.getcapacitor.MessageHandler.callCordovaPluginMethod(MessageHandler.java:70) at com.getcapacitor.MessageHandler.postMessage(MessageHandler.java:46) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:326) at android.os.Looper.loop(Looper.java:160) at android.os.HandlerThread.run(HandlerThread.java:65)
Posts: 1
Participants: 1