鸿蒙开发 打包发布正式包 (Release)

废话

跟安卓的打包发布流程有相似的地方也有不一样的地方,甚至可以说有些地方是完全不一样,感觉华为的想法更多应该是想像苹果一样靠拢,几个需要注意的点吧。

1、鸿蒙没办法像安卓一样打包一个apk满世界随便安装,目前来看的话只能是拉数据线使用真机调试安装Debug包,Release包都没办法直接安装调试,只能是打包出来发布之后去应用市场安装,或者有类似于苹果TestFlight的机制(目前没去看,盲猜是有)

2、鸿蒙最坑地方,正常Android 14对应的api是34,Android 13对应的api是33,按照这种理解,那么鸿蒙4.0对应的应该是api9这种,但是实际上新老手机都升级到鸿蒙4.0之后,老设备可能还是api6,新设备是api8或者api9(常用机型对应的api版本我在文后给一张截图),坑就坑在api6和api9的开发是相差非常大的,目测是无法平滑的把项目从api6升级到api9,并且api9的项目打包之后是无法安装到api6的设备中的(目前我查到的信息是不支持,也有可能是我查的不仔细),但是api6的项目正常来说应该是可以在api9的设备中运行。所以想要兼容更多设备和使用最新的AkrTs,感觉是有点鱼和熊掌不可兼得的感觉。(买测试机之前一定要注意这里,不然跟我一样买了个便宜的华为结果api是6的,头都大了)

3、Debug签名似乎是自动生成的,我印象中好像不需要我配置,授权登录一下华为开发者账号直接就有了。

4、Release签名不像安卓那么简单,搞个文件签名一下就可以了,鸿蒙准备签名的流程前前后后总共要搞四个文件:xxx.p12、xxx.csr、xxx.cer、xxx.p7b

下面使用keytool工具的时候,默认都是在同一个文件夹路径。

1、生成xxx.p12文件

进入Terminal控制台,执行命令:

keytool -genkeypair -alias "test_key" -keyalg EC -sigalg SHA256withECDSA -dname "C=CN,O=DT KJ,OU=HOS Development IDE Team,CN=plan_pk Release" -keystore test.p12 -storetype pkcs12 -storepass testpwd1 -validity 999999

-genkeypair -alias 指定秘钥别名

-keyalg EC -sigalg SHA256withECDSA  指定秘钥算法

-dname 颁发者信息

    C=[国家代码]

    O=[组织或公司名称]

    OU=[组织部门、团队]

    CN=[应用名称]

-keystore 输出文件路径和名称

-storetype pkcs12表示生成的密钥库文件将使用PKCS#12格式

-storepass 密码

-validity 99999  秘钥有效期,单位(天)

2、生成xxx.csr文件

进入Terminal控制台,执行命令:

keytool -certreq -alias "test_key" -keystore test.p12 -file test.csr

执行之后会提示需要输入密码,这时候输入生成xxx.p12文件的密码(上面的密码是:testpwd1)就行。

3、申请xxx.cer证书

3.1、注册华为开发者账号(略)

AppGallery Connect

3.2、在华为的AppGallery Connect中心中点击“用户与访问”

3.3、左边菜单栏中选择“证书管理”

3.4、点击“新建证书”

3.5、将刚才生成的xxx.csr文件上传

3.6、下载得到xxx.cer证书

4、申请xxx.p7b文件

4.1、点击华为AppGallery Connect的“我的应用”并点击“新建”,新建一个鸿蒙应用。

4.2、点击顶部“我的项目”,并进入刚刚新建的项目,会提示需要包名,选择手动输入包名。完成之后点左边最底下的HarmonyOs应用的HAP Provision Profile项。然后点添加

4.3、点“添加按钮”,证书选择刚才新建的测试发布证书,名称可以随便填。

4.4、点“下载”按钮下载xxx.p7b文件

5、新建项目

5.1、fiel->new->create project

5.2、包名跟刚才“我的项目”填写的包名一样,api我这里选6

6、配置签名

debug签名的话,登录之后会自动帮你生成,无需手动配置,登录一下即可。

6.1、DevEco Studio中点击file(文件)->Project Structure,进入到项目配置页面。找到Signing Config并切换到Release配置,并且把对应的密码、文件都搞一下。

7、打包

7.1、点击构建->编译Hap/APP->编译APP

7.2、没有错误的话,编译完成之后会在build/outputs/hap/release目录下找到打包好的hap文件。

常用设备和对应的api

参考链接:

真机上运行HarmonyOS,生成签名文件 - 简书

文档中心

  • 17
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
打包 Flutter 应用的发布版本(release),可以按照以下步骤进行操作: 1. 在终端或命令提示符中,进入 Flutter 项目的根目录。 2. 运行以下命令,以生成签名密钥(如果已经有签名密钥可以跳过此步骤): ``` keytool -genkey -v -keystore <keystore_name>.jks -keyalg RSA -keysize 2048 -validity 10000 -alias <alias_name> ``` `<keystore_name>` 是生成的密钥库文件名,`<alias_name>` 是密钥别名。按照提示输入密码、姓名等信息即可生成密钥库文件。 3. 在 Flutter 项目的根目录下创建一个名为 `key.properties` 的文件,并在文件中添加以下内容: ``` storePassword=<keystore_password> keyPassword=<key_password> keyAlias=<alias_name> storeFile=<keystore_path> ``` `<keystore_password>` 是密钥库的密码,`<key_password>` 是密钥的密码,`<alias_name>` 是密钥别名,`<keystore_path>` 是密钥库文件的路径。 4. 打开 `android/app/build.gradle` 文件,在 android.defaultConfig 块中添加如下代码: ``` signingConfigs { release { // 这里的 signingConfig 填写你的签名配置 // 如果没有签名配置可以在这里使用默认配置 } } ``` 5. 在同一个 `build.gradle` 文件中,找到 `buildTypes` 部分,在 `release` 块中添加如下代码: ``` signingConfig signingConfigs.release ``` 6. 在终端或命令提示符中,运行以下命令来生成发布版本的 APK 文件: ``` flutter build apk --release ``` 运行完成后,将会在 `build/app/outputs/apk/release/` 目录下生成一个名为 `app-release.apk` 的 APK 文件。 现在,你已经成功地打包了 Flutter 应用的发布版本(release)。你可以将生成的 APK 文件安装到 Android 设备上进行测试或发布到应用商店。请注意,对于 iOS 平台,你需要使用 Xcode 来打包发布版本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值