Angular 运行时未找到Android CameraLauncher类

Angular 运行时未找到Android CameraLauncher类,angular,cordova-plugins,ionic4,capacitor,Angular,Cordova Plugins,Ionic4,Capacitor,我在Angular上使用Ionic4,带有电容器和Cordova摄像头插件。我按照以下说明安装了插件: 一切都很好,只有当我尝试调用getPicture方法时,我才会遇到问题 以下是我的组件中的相关代码: 进口 import { Camera, CameraOptions } from '@ionic-native/camera/ngx'; 在我的组件类中: cameraOptions: CameraOptions = { destinationType: this.camera.Dest

我在Angular上使用Ionic4,带有电容器和Cordova摄像头插件。我按照以下说明安装了插件:

一切都很好,只有当我尝试调用getPicture方法时,我才会遇到问题

以下是我的组件中的相关代码:

进口

import { Camera, CameraOptions } from '@ionic-native/camera/ngx';
在我的组件类中:

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();
  }
}
我可以根据要求提供Ionic项目
config.xml

我使用
运行开发服务器,运行android-l--external--consolelogs

当我按下调用
onPickVideo()
的按钮时,我在Android Studio的Logcat中得到以下警告级别的输出:

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)

npm安装cordova插件名称只是一个例子,您必须使用npm安装cordova插件Cameray安装摄像头插件您是对的。事实上,我确实使用了
cordova插件摄像头
,但忘记了编辑它,因为我刚从链接粘贴到这里。@AlexanderSoare您找到解决此错误的方法了吗?npm安装cordova插件名称只是一个示例,您必须使用npm安装cordova插件摄像头安装摄像头您是对的。事实上,我确实使用了
cordova插件相机
,但忘记了编辑它,因为我刚刚从链接粘贴到这里。@AlexanderSoare您找到了这个错误的解决方案吗?
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)