HarmonyOS 鸿蒙Next:有没有大佬遇到本地开发debug一切正常,编译之后在真机运行各种报错

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:有没有大佬遇到本地开发debug一切正常,编译之后在真机运行各种报错

“name”: “default”, “signingConfig”: “default”, “compileSdkVersion”: “5.0.0(12)”, “compatibleSdkVersion”: “5.0.0(12)”, “runtimeOS”: “HarmonyOS”

有没有大佬遇到本地开发debug的时候一切正常,编译之后在真机运行各种报错。

6 回复

你这说的,应该是,本地开发,使用debug模式开发,编译运行,是使用release模式运行吗?

release模式,会开启混淆,可以将混淆关闭试试,在build-profile.json文件里面

将enable改成false,在编译部署试下,或则为true情况下,将obfuscation-rules.txt里的混淆规则清空试试。

更多关于HarmonyOS 鸿蒙Next:有没有大佬遇到本地开发debug一切正常,编译之后在真机运行各种报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


我看文档说的默认是关闭的,我也没有特意打开。
我本地开发使用的是debug模式。
打包的时候用的是release模式。
奇怪的就是本地开发的时候定义一个类,属性名称是name,编译之后输出,属性名称变成了c5,导致代码一堆问题,很奇怪,

这是我的build配置

{
  "app": {
    "signingConfigs": [
      {
        "name": "default",
        "type": "HarmonyOS",
        "material": {
          "storePassword": "xxx",
          "certpath": "/Users/yuding/program/myCode/harmonyapp/血糖记录/发布证书/调试正式.cer",
          "keyAlias": "xxx",
          "keyPassword": "xxx",
          "profile": "/Users/yuding/program/myCode/harmonyapp/xxx/xxx-调试Debug.p7b",
          "signAlg": "SHA256withECDSA",
          "storeFile": "/Users/yuding/program/myCode/harmonyapp/xxx/xxx/release.p12"
        }
      },
      {
        "name": "release",
        "type": "HarmonyOS",
        "material": {
          "certpath": "/Users/yuding/program/myCode/harmonyapp/xxx/xxx.cer",
          "storePassword": "xxx",
          "keyAlias": "xxx",
          "keyPassword": "xxx",
          "profile": "/Users/yuding/program/myCode/harmonyapp/xxx/xxx.p7b",
          "signAlg": "SHA256withECDSA",
          "storeFile": "/Users/yuding/program/myCode/harmonyapp/xxx/xxx/release.p12"
        }
      }
    ],
    "products": [
      {
        "name": "default",
        "signingConfig": "default",
        "compileSdkVersion": "5.0.0(12)",
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS"
      },
      {
        "name": "release",
        "signingConfig": "release",
        "compileSdkVersion": "5.0.0(12)",
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS"
      }
    ],
    "buildModeSet": [
      {
        "name": "debug"
      },
      {
        "name": "release"
      }
    ]
  },
  "modules": [
    {
      "name": "entry",
      "srcPath": "./entry",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default",
            "release"
          ]
        }
      ]
    }
  ]
}

你的这个明显就是开了混淆导致,

信息量太少 ,没发定位啊

针对HarmonyOS 鸿蒙Next在本地开发debug一切正常,编译之后在真机运行出现各种报错的问题,可能的原因包括但不限于以下几点:

  1. 环境差异:本地开发环境与真机环境可能存在差异,如系统版本、硬件特性等,导致编译后的应用在真机上运行出现问题。

  2. 编译配置:检查编译配置是否正确,包括签名信息、权限声明、依赖库等,确保真机环境与编译配置一致。

  3. 代码兼容性:部分代码可能在debug模式下被优化或绕过,而在release模式下暴露问题。检查代码中是否存在特定环境下的兼容性问题。

  4. 资源文件:确认所有资源文件(如图片、音频等)都已正确打包并适配真机环境。

  5. 日志分析:查看真机运行时的日志信息,分析报错的具体原因,如内存泄漏、空指针异常等。

  6. 第三方库:如果使用了第三方库,确认其版本与鸿蒙系统兼容,并检查是否有已知问题。

解决这类问题通常需要详细分析真机运行日志,对比debug与release模式下的差异,并逐一排查可能的原因。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部