uni.chooseImage 唤起相机返回直接闪退重启,或者拍照完成 点击确定 闪退重启
![师邦](http://img-cdn-tc.dcloud.net.cn/uploads/avatar/001/53/79/20_avatar_mid.jpg?v=1691999312)
- 发布:2022-12-02 09:40
- 更新:2024-12-17 14:18
- 阅读:718
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 3.6.5
手机系统: Android
手机系统版本号: Android 10
手机厂商: vivo
手机机型: 华为、小米、vivo、等不同平台 安卓系统10、11、12
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
uni.chooseImage 唤起相机返回直接闪退重启,或者拍照完成 点击确定 闪退重启
uni.chooseImage 唤起相机返回直接闪退重启,或者拍照完成 点击确定 闪退重启
实际结果:
唤起相机返回直接闪退重启,或者拍照完成 点击确定 闪退重启
唤起相机返回直接闪退重启,或者拍照完成 点击确定 闪退重启
bug描述:
权限且授权都有! 真机在线基座调式不频繁闪退!但是打包出来必定闪退!10次有7次闪退重启!单纯的唤起相机也会闪退;安卓系统(10、11、12);机型:华为、vivo、小米等;HbuilderX版本: 3.6.5.20221121 ;
/* android打包配置 */
"android" : {
"permissions" : [
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.INSTALL_PACKAGES\"/>",
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
uni.chooseImage({
count: 1,
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
success: chose => {}})
![DCloud_UNI_Anne](http://img-cdn-tc.dcloud.net.cn/uploads/avatar/001/61/32/47_avatar_mid.jpg?v=1659451591)
请升级至HbuilderX3.6.11-alpha 试下用hello uni-app示例能复现你的问题吗?如果不能,提供最小化复现工程和apk(上传附件)【bug优先处理规则】https://ask.dcloud.net.cn/article/38139
![师邦](http://img-cdn-tc.dcloud.net.cn/uploads/avatar/001/53/79/20_avatar_mid.jpg?v=1691999312)
师邦 (作者)
根据官方技术指导操作问题依旧:独立下载HbuilderX3.6.11【3.6.11.20221205-alpha】然后新创建项目 官方hello uniapp示例 运行到真机,[接口]--》媒体--》图片--》添加拍照图片 完成确认后 闪退重启。【已手机录屏】(附件) 【控制台能看到的打印信息】如下:
14:06:17.529 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:06:17.572 reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught Error: Module build failed (from ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js):
Error: Cannot find module 'C:\Program Files\HBuilderX3.6.11\plugins\compile-node-sass\node_modules\node-sass-china'
Require stack:
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\getDefaultSassImplementation.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\getSassImplementation.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\index.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\cjs.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\loader-runner\lib\loadLoader.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\loader-runner\lib\LoaderRunner.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\webpack\lib\NormalModule.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\webpack\lib\NormalModuleFactory.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\webpack\lib\Compiler.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\webpack\lib\webpack.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\commands\build.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\index.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@vue\cli-service\lib\Service.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\bin\uniapp-cli.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:956:15)
at Function.Module._resolveFilename (C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\module-alias\index.js:49:29)
at Function.Module._load (node:internal/modules/cjs/loader:804:27)
at Module.require (node:internal/modules/cjs/loader:1028:19)
at require (node:internal/modules/cjs/helpers:102:18)
at getDefaultSassImplementation (C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\getDefaultSassImplementation.js:24:10)
at getSassImplementation (C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\getSassImplementation.js:19:72)
at Object.loader (C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\index.js:42:61)
at 222 (/pages/extUI/icons/icons.nvue:9068:7)
at __webpack_require__ (/pages/extUI/icons/icons.nvue:21:30)
at 221 (/pages/extUI/icons/icons.nvue:9054:938)
at __webpack_require__ (/pages/extUI/icons/icons.nvue:21:30)
at injectStyles (<anonymous>:19:45)
at eval (<anonymous>:41:14)
at 216 (/pages/extUI/icons/icons.nvue:8804:1)
at __webpack_require__ (/pages/extUI/icons/icons.nvue:21:30)
at 490 (/pages/extUI/icons/icons.nvue:10233:14)
at __webpack_require__ (/pages/extUI/icons/icons.nvue:21:30)
14:06:42.983 已获取的权限:android.permission.CAMERA at common/permission.js:187
14:06:43.415 App Hide at App.vue:49
14:07:05.609 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:07:06.319 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:07:06.354 App Launch at App.vue:21
14:07:06.363 App Show at App.vue:46
14:07:06.905 preLogin fail res: , [Object] {"errMsg":"preLogin:fail -20202预登录失败","errCode":30005,"code":30005,"appid":"pPyZWvH3Fa6PXba...} at App.vue:40
14:11:16.431 App Hide at App.vue:49
14:11:17.357 App Show at App.vue:46
14:11:20.203 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:11:21.730 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:11:21.950 preloadPage /pages/extUI/calendar/calendar at pages/tabBar/extUI/extUI.nvue:230
14:11:22.260 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:11:22.290 reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught Error: Module build failed (from ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js):
Error: Cannot find module 'C:\Program Files\HBuilderX3.6.11\plugins\compile-node-sass\node_modules\node-sass-china'
Require stack:
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\getDefaultSassImplementation.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\getSassImplementation.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\index.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\cjs.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\loader-runner\lib\loadLoader.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\loader-runner\lib\LoaderRunner.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\webpack\lib\NormalModule.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\webpack\lib\NormalModuleFactory.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\webpack\lib\Compiler.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\webpack\lib\webpack.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\commands\build.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\index.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@vue\cli-service\lib\Service.js
- C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\bin\uniapp-cli.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:956:15)
at Function.Module._resolveFilename (C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\module-alias\index.js:49:29)
at Function.Module._load (node:internal/modules/cjs/loader:804:27)
at Module.require (node:internal/modules/cjs/loader:1028:19)
at require (node:internal/modules/cjs/helpers:102:18)
at getDefaultSassImplementation (C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\getDefaultSassImplementation.js:24:10)
at getSassImplementation (C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\getSassImplementation.js:19:72)
at Object.loader (C:\Program Files\HBuilderX3.6.11\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\packages\sass-loader\dist\index.js:42:61)
at 229 (/pages/extUI/calendar/calendar.nvue:8978:7)
at __webpack_require__ (/pages/extUI/calendar/calendar.nvue:21:30)
at 228 (/pages/extUI/calendar/calendar.nvue:8964:941)
at __webpack_require__ (/pages/extUI/calendar/calendar.nvue:21:30)
at injectStyles (<anonymous>:19:45)
at eval (<anonymous>:41:14)
at 223 (/pages/extUI/calendar/calendar.nvue:8820:1)
at __webpack_require__ (/pages/extUI/calendar/calendar.nvue:21:30)
at 338 (/pages/extUI/calendar/calendar.nvue:9829:7)
at __webpack_require__ (/pages/extUI/calendar/calendar.nvue:21:30)
14:11:27.283 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:15:08.216 App Hide at App.vue:49
14:15:15.944 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:15:16.604 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:15:16.635 App Launch at App.vue:21
14:15:16.638 App Show at App.vue:46
14:15:17.040 preLogin fail res: , [Object] {"errMsg":"preLogin:fail -20202预登录失败","errCode":30005,"code":30005,"appid":"pPyZWvH3Fa6PXba...} at App.vue:40
14:15:40.095 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:15:40.357 waiting:{"type":"waiting","timeStamp":1670307270652,"target":{"id":"video1","dataset":{},"offsetLeft":0,"offsetTop":0},"currentTarget":{"id":"video1","dataset":{},"offsetLeft":0,"offsetTop":0},"detail":{}} at pages/component/video/video.nvue:51
14:15:46.709 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:16:27.601 已获取的权限:android.permission.CAMERA at common/permission.js:187
14:16:27.917 App Hide at App.vue:49
14:16:40.115 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:16:40.746 应用未关联服务空间,请在uniCloud目录右键关联服务空间
14:16:40.806 App Launch at App.vue:21
14:16:40.816 App Show at App.vue:46
14:16:41.294 preLogin fail res: , [Object] {"errMsg":"preLogin:fail -20202预登录失败","errCode":30005,"code":30005,"appid":"pPyZWvH3Fa6PXba...} at App.vue:40
14:18:20.163 应用未关联服务空间,请在uniCloud目录右键关联服务空间
-
师邦 (作者)
我今天20221212使用了HbuilderX3.6.13.20221209 这个正式发布版的!也是调用相机拍照 就闪退重启应用!重新完全创建使用官网的hello uniapp示例 运行到真机。闪退重启应用频繁依旧!这个BUG没改啊,痛苦等待~~~
2022-12-12 14:51
师邦 (作者)
回复 1*@qq.com: 对,这个问题一直存在。就是会出现在一些不同机型的手机上。之前我也有录像,收集日志提供反馈给官方uni技术,但好像都没有解决此问题。好像从HBuilder X3.4.6版左右开始。开始打包,不管是【传统打包】还是【快速安心打包】。就开始得到用户反馈 ,拍照片时点击完成时,应用就直接自动闪退重启!后来HBuilder X 不同升级版 我都进行测试 也是问题依旧!,也有单纯的使用官方 uni.chooseImage()调用也是会出现问题!直接编译运行官方提供的hello uniapp项目里的拍照功能也会出现这个问题。截止今天2023-03-16使用HBuilder X3.7.3.20230223版编译云打包后 安装包也是会出现应用闪退重启!我反复拍照十几次都闪退重启!没办法,我只能反复的把app进程杀死,反复手动打开app进行拍照。才恢复正常。后面又出现问题。 像今天打包的用vivo android10 V1911A 手机上,软件压根就没法使用!每一次拍照都闪退!救不了==50次拍照就有46次闪退重启。
没办法。官方没给出解决问题。我只能反复捣腾。发现有一条重要的线索:进去手机权限设置,在应用单项权限设置里不管,你用没用到 ! 就必须手动检查下,把10项权限全部允许!!【1.自启动(后台启动)、2.悬浮窗、3.锁屏显示、4.后台弹出界面、5.访问设备状态信息、 6.定位手机(始终允许)、7.使用摄像头、8.修改系统设置、9.安装未知应用、10.存储权限】。然后再去使用你的软件,就会发现,没闪退重启了。**
个人觉得 问题就出在 官方的兼容或机制分配 点上。希望官方技术 往这条线索方向 优化优化。。
有出现此类问题的朋友 试试我的临时方法 看有没有效果。我这边是得到实践效果了
2023-03-16 14:48