广西省建设厅网站,jquery特效网站,wordpress 添加文章列表,黑龙江省建设厅的网站首页flutter编译和构建鸿蒙应用程序#xff08;windows环境#xff09;
问题背景
针对 OpenHarmony 的 Flutter 版本已经开源#xff0c;参考 https://gitee.com/openharmony-sig/flutter_flutter。 本文为实践该流程#xff0c;实现flutter打包鸿蒙hap包的流程。目前流程已经…flutter编译和构建鸿蒙应用程序windows环境
问题背景
针对 OpenHarmony 的 Flutter 版本已经开源参考 https://gitee.com/openharmony-sig/flutter_flutter。 本文为实践该流程实现flutter打包鸿蒙hap包的流程。目前流程已经走完不过最后打包hap包依赖于flutter engine构建目前还没构建完成。下次持续更新。
问题分析
构建环境
flutter tools指令支持Linux、Mac和Windows下使用。
构建依赖
依赖flutter engine(https://github.com/flutter/engine)构建产物ohos_debug_unopt_arm64 与 ohos_release_arm64请在flutter tools指令运行参数中添加–local-engineengine产物目录
构建步骤
1、下载命令行工具并配置环境变量ohpm与sdkmanager
下载地址 https://developer.harmonyos.com/cn/develop/deveco-studio#download_cli 使用指导 https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/ide-command-line-ohpm-0000001490235312-V3 1解压文件进入“ohpm/bin”目录打开命令行工具执行OHPM安装脚本 Windows环境下执行命令 init.bat
2将ohpm配置到环境变量中 Windows环境变量设置方法 在此电脑 属性 高级系统设置 高级 环境变量中在系统或者用户的PATH变量中添加ohpm安装位置下bin文件夹的路径。bin路径配置了ohpm、ohsdkmgr、codelinter三个工具如下图所示。
配置环境变量 OHPM_HOME
...\ohcommandline-tools-windows-2.0.0.2\oh-command-line-tools\ohpm3安装完成之后重新打开命令行执行如下命令 ohpm -v 终端输出为版本号则表示安装成功。执行效果如下
2、下载sdk并配置环境变量
ohsdkmgr使用指导参考 https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/ide-command-line-ohsdkmgr-0000001545647965-V3
注意使用ohsdkmgr要求java版本必须大于17java17的安装和配置参考 https://blog.csdn.net/tiehou/article/details/129575138 。 1下载api为9的sdk
2配置对应的环境变量
export OHOS_SDK_HOME/home/user/env/sdk
export HDC_HOME/home/user/env/sdk/10/toolchains
export PATH$PATH:$HDC_HOME# 配置HarmonyOS sdk
export HOS_SDK_HOME/home/user/env/{HarmonyOS sdk}3、置Gradle
下载 gradle 7.1 并解压配置到环境变量中。gradle下载地址 https://gradle.org/releases/ 配置到环境变量 PATH/home/user/env/gradle-7.1/bin
4、下载Flutter
下载完成后配置环境
git clone https://gitee.com/openharmony-sig/flutter_flutter.gitexport PATH/home/user/ohos/flutter_flutter/bin:$PATH
export PUB_HOSTED_URLhttps://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URLhttps://storage.flutter-io.cn5、签名工具需进行下列配置
1下载签名工具下载地址 https://gitee.com/openharmony/developtools_hapsigner下载命令 git clone https://gitee.com/openharmony/developtools_hapsigner.git并配置环境变量SIGN_TOOL_HOME。 export SIGN_TOOL_HOME/home/user/ohos/developtools_hapsigner/autosign 2进入…\developtools_hapsigner\hapsigntool目录执行以下命令编译得到hap-sign-tool.jar确保其在目录./hapsigntool/hap_sign_tool/build/libs/hap-sign-tool.jar。
gradle build注意刚才配置了jdk版本为17目前这个代码选择的gradle版本为7.1对应的jdk版本需要配置还原1.8的版本。 3编辑autosign目录下autosign.config和createAppCertAndProfile.config文件并修改其中值
sign.profile.inFileprofile_tmp.json在autosign目录下新增profile_tmp_template.json文件编辑如下
{version-name: 2.0.0,version-code: 2,app-distribution-type: os_integration,uuid: 5027b99e-5f9e-465d-9508-a9e0134ffe18,validity: {not-before: 1594865258,not-after: 1689473258},type: release,bundle-info: {developer-id: OpenHarmony,distribution-certificate: -----BEGIN CERTIFICATE-----\nMIICSTCCAcgAwIBAgIFAJV7uNUwCgYIKoZIzj0EAwIwYzELMAkGA1UEBhMCQ04x\nFDASBgNVBAoMC09wZW5IYXJtb255MRkwFwYDVQQLDBBPcGVuSGFybW9ueSBUZWFt\nMSMwIQYDVQQDDBpPcGVuSGFybW9ueSBBcHBsaWNhdGlvbiBDQTAeFw0yMjAxMjkw\nNTU0MTRaFw0yMzAxMjkwNTU0MTRaMGgxCzAJBgNVBAYTAkNOMRQwEgYDVQQKDAtP\ncGVuSGFybW9ueTEZMBcGA1UECwwQT3Blbkhhcm1vbnkgVGVhbTEoMCYGA1UEAwwf\nT3Blbkhhcm1vbnkgQXBwbGljYXRpb24gUmVsZWFzZTBZMBMGByqGSM49AgEGCCqG\nSM49AwEHA0IABAW8pFu7tHGUuWtddD5wvazc1qN8ts9UPZH4pecbb/bSFWKh7X7R\n/eTVaRrCTSSdovI1dhoV5GjuFsKWjT2TwSjazBpMB0GA1UdDgQWBBScyywAaAMj\nI7HcuIS42lvZx0LjzAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUE\nDDAKBggrBgEFBQcDAzAYBgwrBgEEAY9bAoJ4AQMECDAGAgEBCgEAMAoGCCqGSM49\nBAMCA2gAMGUCMFfNidGo6uK6KGT9zT1T5bY1NCHTH3P3muy5X1xudOgxWoOqIbnk\ntmQYB78dxWEHLQIxANfApAlXAD/0hnyNC8RDzfLOPEeay6jU9FXJj3AoR90rwZpR\noN9sYD6Oks4VGRw6yQ\n-----END CERTIFICATE-----\n,bundle-name: {{ohosId}},apl: normal,app-feature: hos_normal_app},acls: {allowed-acls: []},permissions: {restricted-permissions: []},issuer: pki_internal
}6、构建
1运行 flutter doctor -v 检查环境变量配置是否正确 2创建工程
# 创建工程
flutter create --platforms ohos flutter_demo执行上面的创建工程命令报错提示需要鸿蒙的sdk。
这里我之前下载过鸿蒙版的deveco studio开发过鸿蒙原生项目环境变量直接增加直接鸿蒙的sdk重新创建项目OK。
(3)编译命令编译产物在flutter_demo/ohos/entry/build/default/outputs/default/entry-default-signed.hap下。
# 进入工程根目录编译
flutter build hap --local-engine-src-path /home/user/ohos/engine/src --local-engine ohos_release_arm64编译依赖flutter engine的编译产物所以我们在编译项目之前要先对flutter engine进行编译构建。 由于时间关系下次持续更新。