鸿蒙版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无法保存图片到相册问题
应用需要申请保存图片权限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 <module_name> |
create | 创建plugin模板 | flutter create -t plugin --platforms ohos,android,ios <plugin_name> |
create | 创建plugin_ffi模板 | flutter create -t plugin_ffi --platforms ohos,android,ios <plugin_name> |
devices | 查找已连接设备 | flutter devices |
install | 应用安装 | flutter install -t <hap文件路径> |
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 the
issue 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+crash
Running 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.