cordova拍照插件最新版本的开发、模拟器运行和no image selected问题解决文章目录cordova拍照插件最新版本的开发、模拟器运行和no image selected问题解决前言一、cordova-plugin-camera8.0.0后版本的拍照功能实现一实现步骤二源码二、android studio模拟器设置和测试运行1.android studio设置三、运行cordova 拍照程序到模拟器四、no image selected问题前言cordova-plugin-camera插件功能是调用手机中的相机完成拍照或选择图库中的图片完成显示。但是在开发中经常出现各种错误或问题。包括“no image selected”错误无法正确显示图库相片或拍照后的照片拍照功能无法正确调用运行或者模拟器中无法完成拍照等问题。以下按照2026年最新cordova-plugin-camera插件8.0.0版本的开发说明功能实现方法、注意事项和问题解决方案。一、cordova-plugin-camera8.0.0后版本的拍照功能实现关键要点cordova_plugin_camera插件建议采用destinationTypeFILE_URI而不是DATA_URL原因是DATA_URL占用内存过多容易因内存问题导致功能运行失败在使用FILE_URI方法作为destinationType时插件需要额外安装cordova-plugin-file将文件路径解析为 DOM 可用的 URL 否则返回的路径不能直接使用夜神模拟器或其他模拟器可以先用模拟器自带的相机功能测试是否可以正常拍照存储如果不能建议使用真机或android studio的自带模拟器测试程序。以下为实现拍照和图库图片选择并正确显示的步骤一实现步骤建立工程cordova create myCamera org.myg.myCamera myCamera cd myCamera cordova platform add android cordova plugin add cordova-plugin-camera cordova plugin add cordova-plugin-file正确完成后环境如下二源码index.html源码bodydivclassappbutton idtakePicture拍照/buttonbutton idshowPhotograph图库/buttonimg idmyImage/divscript srccordova.js/scriptscript srcjs/index.js/script/bodyjs\index.js源码document.addEventListener(deviceready,onDeviceReady,false);functiononDeviceReady(){console.log(navigator.camera);var options;document.getElementById(takePicture).addEventListener(touchend,function(){alert(take picture);optionssetOptions(Camera.PictureSourceType.CAMERA)navigator.camera.getPicture(onSuccess,onFail,options);});//Use from Librarydocument.querySelector(#showPhotograph).addEventListener(touchend,function(){optionssetOptions(Camera.PictureSourceType.PHOTOLIBRARY)navigator.camera.getPicture(onSuccess,onFail,options);});functionsetOptions(srcType){var options{// Some common settings are 20, 50, and 100quality:50,destinationType:Camera.DestinationType.FILE_URI,// In this app, dynamically set the picture source, Camera or photo gallerysourceType:srcType,encodingType:Camera.EncodingType.JPEG,mediaType:Camera.MediaType.PICTURE,correctOrientation:true}returnoptions;}functiononSuccess(imageURI){window.resolveLocalFileSystemURL(imageURI,(entry){let imgdocument.getElementById(myImage);img.srcentry.toURL();},onFail);}functiononFail(message){alert(拍照失败: message);}}css\index.css源码#myImage{margin-top:10px;/* filter: sepia(100%); */display:block;margin-left:auto;margin-right:auto;max-width:100%;max-height:300px;}button{padding:10px;margin:10px;width:80%;font-size:1em;}二、android studio模拟器设置和测试运行1.android studio设置打开后点击左上角“”创建模拟器先选择small phone占用最少资源并选择摄像头启动测试是否正常启动![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/01b74a69d46448b7844ef9ff5f4321dd.jpeg#pic_center 500x)三、运行cordova 拍照程序到模拟器关闭夜神等其他模拟器没有其他adb设备cordova run就会自动启动android模拟器如果已经在Android studio的模拟器中完成创建设置后并运行到该模拟器。在工程目录命令窗cordova run如果模拟器未打开调试模式会在自动启动android模拟器后提示如下选择Allow重新运行结果如下选择拍照功能则会打开电脑摄像头完成拍照。四、no image selected问题出现该问题是由于