> 技术文档 > 鸿蒙版Flutter开发权限申请优化指南_flutter 鸿蒙 权限配置

鸿蒙版Flutter开发权限申请优化指南_flutter 鸿蒙 权限配置


鸿蒙版Flutter开发相关

申请权限相关问题

解决方案:

应用需要在module.json5配置文件的requestPermissions标签中声明权限,配置权限后重新签名。

flutter输入框长按无法粘贴问题

应用需要申请剪贴板权限ohos.permission.READ_PASTEBOARD

 \"requestPermissions\": [ { \"name\": \"ohos.permission.READ_PASTEBOARD\", \"reason\": \"$string:EntryAbility_desc\", \"usedScene\": { \"abilities\": [ \"EntryAbility\" ], \"when\": \"inuse\" } } ]

通知
注意:您正在申请受限的 ACL 权限:WRITE_IMAGEVIDEO、READ_PASTEBOARD。这些权限将与您的应用发布一起接受审核。为了加快审核流程,请申请以下权限(如果它们足以满足您的目的):SaveButton、PasteButton。权限应用场景不要再询问。

鸿蒙版Flutter开发权限申请优化指南_flutter 鸿蒙 权限配置

flutter无法保存图片到相册问题

应用需要申请保存图片权限ohos.permission.WRITE_IMAGEVIDEO

 \"requestPermissions\": [ { \"name\": \"ohos.permission.WRITE_IMAGEVIDEO\", \"reason\": \"$string:EntryAbility_desc\", \"usedScene\": { \"abilities\": [ \"EntryAbility\" ], \"when\": \"inuse\" } } ]

和上面一样,需要发邮件申请,调试的话,可以临时解决。

dart代码中判断当前平台是否是ohos

import \'package:flutter/foundation.dart\';bool isOhos() { return TargetPlatform == TargetPlatform.ohos;}

所以你会了吗?

start hap build…
Running Hvigor task assembleHap… 27.3s
✓ Built ohos/entry/build/default/outputs/default/entry-default-signed.hap.
installing hap. bundleName: com.nutpi.flutter_driver_exam
error: failed to start ability.
error: unlock screen failed in developer mode.
Error launching application on 192.168.1.16:42647.

已兼容OpenHarmony开发的指令列表

指令名称 指令描述 使用说明 doctor 环境检测 flutter doctor config 环境配置 flutter config – create 创建新项目 flutter create --platforms ohos,android,ios --org create 创建module模板 flutter create -t module create 创建plugin模板 flutter create -t plugin --platforms ohos,android,ios create 创建plugin_ffi模板 flutter create -t plugin_ffi --platforms ohos,android,ios devices 查找已连接设备 flutter devices install 应用安装 flutter install -t assemble 资源打包 flutter assemble build 测试应用构建 flutter build hap --debug [–target-platform ohos-arm64] build 正式应用构建 flutter build hap --release [–target-platform ohos-arm64] run 应用运行 flutter run attach 调试模式 flutter attach screenshot 截屏 flutter screenshot pub 获取依赖 flutter pub get clean 清除项目依赖 flutter clean cache 清除全局缓存数据 flutter pub cache clean

flutter create --org nutpi weather

​ flutter screenshot

No Hmos SDK found.

解决办法:

flutter config --ohos-sdk=/Users/jianguo/Library/OpenHarmony/Sdk

flutter config --ohos-sdk=“”

这两个命令换着来

[!] No Hmos SDK found. Try setting the HOS_SDK_HOME environment variable.
jianguo@nutpi flutter_health % flutter build apk
[!] No Hmos SDK found. Try setting the HOS_SDK_HOME environment variable.
jianguo@nutpi flutter_health % flutter assemble

flutter buld hap的时候乱码

Create a new GitHub issue by pasting this link into your browser and completing theissue template. Thank you!https://github.com/flutter/flutter/issues/new?title=%5Btool_crash%5D+ProcessException%3A+The+command+failed+with+exit+code+1+Command%3A+ohpm%2C+OS+error+code%3A+1&body=%23%23+Command%0A%60%60%60%0Aflutter+build+hap%0A%60%60%60%0A%0A%23%23+Steps+to+Reproduce%0A1.+...%0A2.+...%0A3.+...%0A%0A%23%23+Logs%0AProcessException%3A+The+command+failed+with+exit+code+1+Command%3A+ohpm%2C+OS+error+code%3A+1%0A%60%60%60%0A%230++++++RunResult.throwException+%28package%3Aflutter_tools%2Fsrc%2Fbase%2Fprocess.dart%3A125%3A5%29%0A%231++++++_DefaultProcessUtils.runSync+%28package%3Aflutter_tools%2Fsrc%2Fbase%2Fprocess.dart%3A456%3A17%29%0A%232++++++ohpmInstall+%28package%3Aflutter_tools%2Fsrc%2Fohos%2Fhvigor.dart%3A180%3A16%29%0A%233++++++OhosHvigorBuilder.flutterBuildPre+%28package%3Aflutter_tools%2Fsrc%2Fohos%2Fhvigor.dart%3A586%3A11%29%0A%3Casynchronous+suspension%3E%0A%234++++++OhosHvigorBuilder.buildApplicationPipeLine+%28package%3Aflutter_tools%2Fsrc%2Fohos%2Fhvigor.dart%3A716%3A5%29%0A%3Casynchronous+suspension%3E%0A%235++++++OhosHvigorBuilder.buildHap+%28package%3Aflutter_tools%2Fsrc%2Fohos%2Fhvigor.dart%3A514%3A5%29%0A%3Casynchronous+suspension%3E%0A%236++++++BuildHapCommand.runCommand+%28package%3Aflutter_tools%2Fsrc%2Fcommands%2Fbuild_hap.dart%3A80%3A5%29%0A%3Casynchronous+suspension%3E%0A%237++++++FlutterCommand.run.%3Canonymous+closure%3E+%28package%3Aflutter_tools%2Fsrc%2Frunner%2Fflutter_command.dart%3A1394%3A27%29%0A%3Casynchronous+suspension%3E%0A%238++++++AppContext.run.%3Canonymous+closure%3E+%28package%3Aflutter_tools%2Fsrc%2Fbase%2Fcontext.dart%3A153%3A19%29%0A%3Casynchronous+suspension%3E%0A%239++++++CommandRunner.runCommand+%28package%3Aargs%2Fcommand_runner.dart%3A212%3A13%29%0A%3Casynchronous+suspension%3E%0A%2310+++++FlutterCommandRunner.runCommand.%3Canonymous+closure%3E+%28package%3Aflutter_tools%2Fsrc%2Frunner%2Fflutter_command_runner.dart%3A372%3A9%29%0A%3Casynchronous+suspension%3E%0A%2311+++++AppContext.run.%3Canonymous+closure%3E+%28package%3Aflutter_tools%2Fsrc%2Fbase%2Fcontext.dart%3A153%3A19%29%0A%3Casynchronous+suspension%3E%0A%2312+++++FlutterCommandRunner.runCommand+%28package%3Aflutter_tools%2Fsrc%2Frunner%2Fflutter_command_runner.dart%3A308%3A5%29%0A%3Casynchronous+suspension%3E%0A%2313+++++run.%3Canonymous+closure%3E.%3Canonymous+closure%3E+%28package%3Aflutter_tools%2Frunner.dart%3A130%3A9%29%0A%3Casynchronous+suspension%3E%0A%60%60%60%0A%60%60%60%0A%1B%5B33m%5B%21%5D%1B%5B39m+Flutter+%28Channel+oh-3.22.0%2C+3.22.1-0.0.pre.32%2C+on+macOS+13.4.1+22F82+darwin-arm64%2C%0A++++locale+zh-Hans-CN%29%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Flutter+version+3.22.1-0.0.pre.32+on+channel+oh-3.22.0+at%0A++++++%2FUsers%2Fjianguo%2Fhuawei%2Fflutter%0A++++%1B%5B33m%21%1B%5B39m+Upstream+repository+git%40gitee.com%3Aharmonycommando_flutter%2Fflutter.git+is+not+the%0A++++++same+as+FLUTTER_GIT_URL%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+FLUTTER_GIT_URL+%3D+https%3A%2F%2Fgitee.com%2Fopenharmony-sig%2Fflutter_flutter.git%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Framework+revision+7f2ea2ea24+%285+weeks+ago%29%2C+2025-02-10+06%3A51%3A49+%2B0000%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Engine+revision+f6344b75dc%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Dart+version+3.4.0%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+DevTools+version+2.34.1%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Pub+download+mirror+https%3A%2F%2Fpub.flutter-io.cn%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Flutter+download+mirror+https%3A%2F%2Fstorage.flutter-io.cn%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+If+those+were+intentional%2C+you+can+disregard+the+above+warnings%3B+however+it+is%0A++++++recommended+to+use+%22git%22+directly+to+perform+update+checks+and+upgrades.%0A%0A%1B%5B32m%5B%E2%9C%93%5D%1B%5B39m+HarmonyOS+toolchain+-+develop+for+HarmonyOS+devices%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+OpenHarmony+Sdk+at+%2FUsers%2Fjianguo%2FLibrary%2FOpenHarmony%2FSdk%2C+available+api%0A++++++versions+has+%5B14%3A14%2C+12%3A12%5D%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Ohpm+version+5.0.11%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Node+version+v22.14.0%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Hvigorw+binary+at%0A++++++%2FApplications%2FDevEco-Studio.app%2FContents%2Ftools%2Fhvigor%2Fbin%2Fhvigorw%0A%0A%1B%5B32m%5B%E2%9C%93%5D%1B%5B39m+Android+toolchain+-+develop+for+Android+devices+%28Android+SDK+version+34.0.0%29%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Android+SDK+at+%2FUsers%2Fjianguo%2FLibrary%2FAndroid%2Fsdk%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Platform+android-34%2C+build-tools+34.0.0%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+ANDROID_HOME+%3D+%2FUsers%2Fjianguo%2FLibrary%2FAndroid%2Fsdk%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Java+binary+at%3A+%2FApplications%2FAndroid%0A++++++Studio.app%2FContents%2Fjbr%2FContents%2FHome%2Fbin%2Fjava%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Java+version+OpenJDK+Runtime+Environment+%28build+17.0.6%2B0-17.0.6b829.9-10027231%29%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+All+Android+licenses+accepted.%0A%0A%1B%5B33m%5B%21%5D%1B%5B39m+Xcode+-+develop+for+iOS+and+macOS+%28Xcode+14.3.1%29%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Xcode+at+%2FApplications%2FXcode.app%2FContents%2FDeveloper%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Build+14E300c%0A++++%1B%5B33m%21%1B%5B39m+Flutter+recommends+a+minimum+Xcode+version+of+15.%0A++++++Download+the+latest+version+or+update+via+the+Mac+App+Store.%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+CocoaPods+version+1.16.2%0A%0A%1B%5B32m%5B%E2%9C%93%5D%1B%5B39m+Chrome+-+develop+for+the+web%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Chrome+at+%2FApplications%2FGoogle+Chrome.app%2FContents%2FMacOS%2FGoogle+Chrome%0A%0A%1B%5B32m%5B%E2%9C%93%5D%1B%5B39m+Android+Studio+%28version+2022.3%29%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Android+Studio+at+%2FApplications%2FAndroid+Studio.app%2FContents%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Flutter+plugin+can+be+installed+from%3A%0A++++++%F0%9F%94%A8+https%3A%2F%2Fplugins.jetbrains.com%2Fplugin%2F9212-flutter%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Dart+plugin+can+be+installed+from%3A%0A++++++%F0%9F%94%A8+https%3A%2F%2Fplugins.jetbrains.com%2Fplugin%2F6351-dart%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Java+version+OpenJDK+Runtime+Environment+%28build+17.0.6%2B0-17.0.6b829.9-10027231%29%0A%0A%1B%5B32m%5B%E2%9C%93%5D%1B%5B39m+VS+Code+%28version+1.97.2%29%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+VS+Code+at+%2FApplications%2FVisual+Studio+Code.app%2FContents%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Flutter+extension+version+3.104.0%0A%0A%1B%5B32m%5B%E2%9C%93%5D%1B%5B39m+Connected+device+%284+available%29%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+127.0.0.1%3A5555+%28mobile%29+++++++++%E2%80%A2+127.0.0.1%3A5555++++++++%E2%80%A2+ohos-arm64+++++%E2%80%A2+Ohos%0A++++++OpenHarmony-5.0.3.130+%28API+15%29%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+macOS+%28desktop%29+++++++++++++++++%E2%80%A2+macos+++++++++++++++++%E2%80%A2+darwin-arm64+++%E2%80%A2+macOS%0A++++++13.4.1+22F82+darwin-arm64%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Mac+Designed+for+iPad+%28desktop%29+%E2%80%A2+mac-designed-for-ipad+%E2%80%A2+darwin+++++++++%E2%80%A2+macOS%0A++++++13.4.1+22F82+darwin-arm64%0A++++%1B%5B32m%E2%80%A2%1B%5B39m+Chrome+%28web%29++++++++++++++++++++%E2%80%A2+chrome++++++++++++++++%E2%80%A2+web-javascript+%E2%80%A2%0A++++++Google+Chrome+134.0.6998.89%0A%0A%1B%5B33m%5B%21%5D%1B%5B39m+Network+resources%0A++++%1B%5B31m%E2%9C%97%1B%5B39m+A+network+error+occurred+while+checking+%22https%3A%2F%2Fpub.flutter-io.cn%22%3A+Failed+host%0A++++++lookup%3A+%27pub.flutter-io.cn%27%0A++++%1B%5B31m%E2%9C%97%1B%5B39m+A+network+error+occurred+while+checking+%22https%3A%2F%2Fstorage.flutter-io.cn%22%3A+Failed%0A++++++host+lookup%3A+%27storage.flutter-io.cn%27%0A++++%1B%5B31m%E2%9C%97%1B%5B39m+A+network+error+occurred+while+checking+%22https%3A%2F%2Fcocoapods.org%2F%22%3A+Failed+host%0A++++++lookup%3A+%27cocoapods.org%27%0A++++%1B%5B31m%E2%9C%97%1B%5B39m+A+network+error+occurred+while+checking+%22https%3A%2F%2Fgithub.com%2F%22%3A+Failed+host%0A++++++lookup%3A+%27github.com%27%0A%0A%1B%5B33m%21%1B%5B39m+Doctor+found+issues+in+3+categories.%0A%0A%60%60%60%0A%0A%23%23+Flutter+Application+Metadata%0A%2A%2AType%2A%2A%3A+app%0A%2A%2AVersion%2A%2A%3A+1.0.0%2B1%0A%2A%2AMaterial%2A%2A%3A+true%0A%2A%2AAndroid+X%2A%2A%3A+false%0A%2A%2AModule%2A%2A%3A+false%0A%2A%2APlugin%2A%2A%3A+false%0A%2A%2AAndroid+package%2A%2A%3A+null%0A%2A%2AiOS+bundle+identifier%2A%2A%3A+null%0A%2A%2ACreation+channel%2A%2A%3A+oh-3.22.0%0A%2A%2ACreation+framework+version%2A%2A%3A+7f2ea2ea242b1ae845ad5eaf5b210c2c67da9b78%0A%23%23%23+Plugins%0Acamera%0Acamera_android-0.10.9%2B11%0Acamera_avfoundation-0.9.18%2B9%0Acamera_ohos%0Acamera_web-0.3.5%0Aconnectivity_plus-5.0.2%0Afluttertpc_flutter_phone_direct_caller-8d4c198397fc0cfb971b8bc90a6cca91e577e57d%0Aflutter_plugin_android_lifecycle-2.0.22%0Afluttertpc_flutter_sms-09a75de411c369fddac432ce70ef8cb7d2ceb70f%0Apath_provider%0Apath_provider_android-2.2.10%0Apath_provider_foundation-2.4.1%0Apath_provider_linux-2.2.1%0Apath_provider_ohos%0Apath_provider_windows-2.3.0%0Apermission_handler%0Apermission_handler_android-10.3.6%0Apermission_handler_apple-9.1.4%0Apermission_handler_ohos%0Apermission_handler_windows-0.1.3%0Ascreen-6876db1d5378db90b46bbd12d742eb331b487fa9%0Ashared_preferences%0Ashared_preferences_android-2.3.2%0Ashared_preferences_foundation-2.5.4%0Ashared_preferences_linux-2.4.1%0Ashared_preferences_ohos%0Ashared_preferences_web-2.4.3%0Ashared_preferences_windows-2.4.1%0Aurl_launcher%0Aurl_launcher_android-6.3.9%0Aurl_launcher_ios-6.3.2%0Aurl_launcher_linux-3.2.1%0Aurl_launcher_macos-3.2.2%0Aurl_launcher_ohos%0Aurl_launcher_web-2.3.3%0Aurl_launcher_windows-3.1.4%0Avideo_player%0Avideo_player_android-2.7.1%0Avideo_player_avfoundation-2.7.0%0Avideo_player_ohos%0Avideo_player_web-2.3.4%0A%0A&labels=tool%2Csevere%3A+crashRunning Hvigor task assembleHap...  ⣟% jianguo@nutpi flutter_health % 

看一下是不是模拟器开的,需要关闭模拟器

flutter buld解析

Available subcommands:
aar Build a repository containing an AAR and a POM file.
apk Build an Android APK file from your app.
app Build an Ohos App file from your app.
appbundle Build an Android App Bundle file from your app.
bundle Build the Flutter assets directory from your app.
hap Build an Ohos Hap file from your app.
har Build an Ohos har file from your app.
hsp Build an Ohos hsp file from your app.
ios Build an iOS application bundle (macOS host only).
ios-framework Produces .xcframeworks for a Flutter project and its plugins for
integration into existing, plain iOS Xcode projects.
ipa Build an iOS archive bundle and IPA for distribution (macOS host
only).
macos Build a macOS desktop application.
macos-framework Produces .xcframeworks for a Flutter project and its plugins for
integration into existing, plain macOS Xcode projects.
web Build a web application bundle.