HarmonyOS 鸿蒙Next中微信多端打包默认是打包出来手机,是直接打成app包,是否可以更改配置文件,支持平板?

HarmonyOS 鸿蒙Next中微信多端打包默认是打包出来手机,是直接打成app包,是否可以更改配置文件,支持平板? 【问题描述】:微信多端打包默认是打包出来手机,是直接打成app包,是否可以更改配置文件,支持平板?

cke_2981.png

【问题现象】:

【版本信息】:

【复现代码】:

【尝试解决方案】:


更多关于HarmonyOS 鸿蒙Next中微信多端打包默认是打包出来手机,是直接打成app包,是否可以更改配置文件,支持平板?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

尊敬的开发者,您好,关于手动拆包和重新打包,请您使用拆包和解包工具:打包拆包工具-调试命令-调测调优-系统 - 华为HarmonyOS开发者,关于微信多端打包工具不支持其他设备的情况,请您咨询微信。

更多关于HarmonyOS 鸿蒙Next中微信多端打包默认是打包出来手机,是直接打成app包,是否可以更改配置文件,支持平板?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


尊敬的开发者,您好,微信多端打包为app包,deviceTypes字段里面添加一个"tablet",同时需要在AGC中应用上架 > 应用信息,进入“基本信息”区域,配置应用的支持设备,在“支持设备”栏勾选“平板”,这样上架app包就能适配平板了,实际上当设备类型包含手机时,即便包里未声明平板,应用也会默认以兼容的方式分发到HarmonyOS NEXT平板。就是只要deviceTypes包含"phone",即使没有tablet类型,应用也会分发到HarmonyOS NEXT平板中。

理解,但是微信多端目录中没有看到deviceTypes字段,没地方可以配置"tablet"。问题描述里面的图片是我打包完成后,解压出来才能看到deviceTypes字段包含一个“phone”,这个是应用信息,具体需要在哪里配置呢?可以给一个截图吗

尊敬的开发者,您好,

app包可以更改配置文件(即module.json5配置文件中“deviceTypes”标签的枚举值添加tablet),同时需要在AGC中应用上架 > 应用信息,进入“基本信息”区域,配置应用的支持设备,需要勾选平板信息,

老师,我这个是微信多端打包,您的意思是在我发的这个图片,deviceTypes字段里面添加一个“tablet”,例如下面这种就可以上传app包了吗?

"deviceTypes": [
  "phone",
  "tablet"
],

如果仅仅是加平板,在配置文件deviceTypes下加上tablet就行。

在HarmonyOS Next中,微信多端打包默认生成手机应用包。可以通过修改build-profile.json5文件中的targetAPIVersionruntimeOS配置项来支持平板设备。具体需将runtimeOS设置为HarmonyOS,并调整targetAPIVersion至适配平板的API版本。

是的,可以更改配置文件以支持平板设备。在HarmonyOS Next中,微信多端打包默认生成手机应用包(.app),但通过修改项目的配置文件,可以使其同时适配平板。

具体操作如下:

  1. 修改 module.json5 文件: 在您的HarmonyOS工程中,找到需要适配平板的模块(Module)下的 src/main/resources/base/profile/module.json5 文件。 在 module.json5 文件的 abilities 配置项中,找到对应的UIAbility(通常是入口Ability),为其添加 supportWindowMode 字段,并指定支持的模式。为了适配平板,通常需要支持 split(分屏)和 fullscreen(全屏)模式。

    示例配置片段

    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ets",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:icon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ],
        "supportWindowMode": ["split", "fullscreen"] // 添加此行以支持分屏和全屏模式
      }
    ]
    

    supportWindowMode 设置为 ["split", "fullscreen"] 是关键,这声明了该Ability支持在平板等大屏设备上进行分屏显示。

  2. (可选)配置 app.json5 中的设备类型: 检查项目根目录下的 AppScope/resources/base/profile/app.json5 文件。确保 app 对象下的 deviceTypes 字段包含了 tablet。这声明了应用本身支持平板设备类型。

    "app": {
      "bundleName": "com.example.myapp",
      "vendor": "example",
      "versionCode": 1000000,
      "versionName": "1.0.0.0",
      "icon": "$media:app_icon",
      "label": "$string:app_name",
      "deviceTypes": [
        "phone",
        "tablet" // 确保包含 tablet
      ]
    }
    
  3. 进行多端打包: 完成上述配置修改后,重新使用微信开发者工具或DevEco Studio的“多端打包”功能进行构建。生成的.app包将包含对平板设备的适配信息,能够在平板上以更合适的布局(如分屏)运行。

核心原理:HarmonyOS应用通过 module.json5 中Ability的 supportWindowMode 来声明其支持的窗口模式。平板等大屏设备可以利用分屏(split)模式来更好地利用屏幕空间。默认配置可能只包含 fullscreen,添加 split 模式是适配平板的关键步骤之一。

修改后,您的应用在平板上启动时,系统会识别其支持分屏模式,从而提供更好的大屏体验。

回到顶部