鸿蒙app生成HAP包及重构

2024-03-17 07:59
文章标签 app 生成 重构 包及 鸿蒙 hap

本文主要是介绍鸿蒙app生成HAP包及重构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 概述
  • 生成HAP包步骤
    • 对应用进行签名
    • 生成HAP包
  • HAP包的重构
    • 步骤

参考文档:
编译构建生成HAP-编译构建-HUAWEI DevEco Studio使用指南-工具-HarmonyOS应用开发

概述

在此生成的是带自动化签名信息的Debug类型HAP包

带签名信息的HAP包(包括Debug和Release类型),可以在真机设备上运行。在构建HAP包前,需要对应用/服务进行签名。不带签名信息的HAP(包括Debug和Release类型),只能运行在模拟器设备上,不需要对应用/服务进行签名。

生成HAP包步骤

对应用进行签名

在构建带签名信息的HAP前,先对应用进行签名,此处选择自动化签名方式,可参考文档:使用真机进行调试-调试HarmonyOS应用/服务-应用/服务调试-HUAWEI DevEco Studio使用指南-工具-HarmonyOS应用开发

  • 自动化签名方式步骤
    • 真机进入开发者模式(使用USB方式)
    • 设置 --> 关于手机 --> 连续点击版本号,直至让输入锁屏密码,提示进入开发者模式
    • 设置 --> 系统和更新 --> 开发人员选项 --> 打开USB调试开关
    • 通过数据线连接电脑和真机,电脑上如下显示
      在这里插入图片描述
    • DevEco操作
      • 进入File > Project Structure > Project > Signing Configs界面,点击“Sign In”按钮进行登录
        在网站AppGallery Connect中创建项目和应用
        • 创建一个项目,名字随意

        • 在项目中添加应用,除了应用包名外,其他的可以根据自己的需求定,应用包名不能与其他的鸿蒙开发者的包名重复。应用包名在AppGallery Connect上必须保持唯一,不能与其他应用包名(包含所有用户的包名)冲突,如果在创建应用时修改了该字段,创建完成后,请同步修改工程中各模块对应的bundleName字段。
          在这里插入图片描述

        • 返回DevEco Studio的自动签名界面,点击Try Again,即可自动进行签名。自动生成签名所需的密钥(.p12)、数字证书(.cer)和Profile文件(.p7b)会存放到用户user目录下的.ohos\config目录下。

        • 设置完签名信息后,点击OK进行保存,然后可以在工程下的build.gradle中查看签名的配置信息。至此自动化签名完成

生成HAP包

  • 运行app,真机中就会出现应用,同时生成HAP包
    在这里插入图片描述

  • 添加配置文件
    AGC(AppGallery Connect)为了简化开发者的配置步骤,向开发者提供了保存应用配置信息的配置文件,您只需要将配置文件添加到您的工程目录并集成AGC插件,AGC插件可以自动将您在AGC上的应用信息加载到您的开发环境。

  • 设置SDK

    • 可以按照在AGC添加完应用后的引导将SDK基础包添加到您的应用中,此处不再赘述。
    • 也可按照此参考文档步骤:HarmonyOS使用入门-HarmonyOS-使用入门
  • 关闭开发者模式
    最后,设置 --> 系统和更新 --> 开发人员选项 --> 关闭开发人员选项开关

HAP包的重构

步骤

  • 文件清理
    开发者在应用/服务开发阶段,通常会对创建的工程进行多次编译构建,为消除历史编译构建生成的文件对构建结果的影响,在新的编译构建操作前通常先进行文件清理操作(Clean Project)。
  • 重构HAP包
    DevEco Studio提供一键重构建HAP包功能,先对历史编译构建生成的文件进行清理,再重新进行编译构建生成HAP包,在主菜单栏,点击Build > Rebuild Project,编译生成HAP包。
    在这里插入图片描述

这篇关于鸿蒙app生成HAP包及重构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/818318

相关文章

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.