HarmonyOS 鸿蒙Next开发中 怎么判断当前环境是 release环境 还是 debug 环境

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

HarmonyOS 鸿蒙Next开发中 怎么判断当前环境是 release环境 还是 debug 环境 在鸿蒙开发中,怎么判断当前环境是 release环境 还是 debug 环境?

8 回复

在编译构建的时候可以在编辑器的右上角选择编译模式:Build Mode(debug/release)。

参考https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-hvigor-compilation-options-customizing-guide-V5

更多关于HarmonyOS 鸿蒙Next开发中 怎么判断当前环境是 release环境 还是 debug 环境的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION | 
bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_HAP_MODULE 

let mBundleInfo = bundleManager.getBundleInfoForSelfSync(bundleFlags)

let isDebug=mBundleInfo.appInfo.debug

一般情况下是不用考虑这个的,因为打包的时候需要证书才能运行在手机上。

证书分为:调试证书(自动签名属于调试证书)、企业证书、发布证书。

调试证书能且只能通过数据线进行安装

企业证书可以通过浏览器进行安装

发布证书能且只能通过线上更新,也就是把包(.app格式的)打好后,放到AGC(华为应用市场上)经过华为官方人员审核通过后,用户或者测试用户才能下载的。

综上,平时你开发的包,打不了release环境,或者说打成release环境的包没办法通过数据线安装到测试机上。

那如果我有一个变量。在debug 下需要是1。在release 下需要是2,这总不能每次手动改吧。

2楼3楼说的release与debug本质还是内置一个变量,且这个变量是可以追加修改的

参考链接中的2楼,我就追加了一个自定义pro2环境:https://developer.huawei.com/consumer/cn/forum/topic/0201152457622693162?fid=0109140870620153026h ±$%-+

我觉得的吧,感觉没什么意义,因为你要发布到线上时,一定是release,你还需要打包的时候在编译构建的时候手动修改,那还不如在应用内就内置一个static属性的变量 ,然后启动的时候根据这个变量决定加载什么环境。

另外,我这边平时给测试人员的包,经常要不同环境的,为了方便测试,给他们打包的时候做了一个可以内置切换环境的功能,参考:[华为终端云服务-应用内支付服务]

在HarmonyOS(鸿蒙)Next开发中,判断当前环境是release还是debug,可以通过BuildConfig类来实现。BuildConfig是自动生成的类,通常位于ohos.global.systemres包下。你可以通过检查BuildConfig.DEBUG的值来判断当前环境。

import { BuildConfig } from 'ohos.global.systemres';

if (BuildConfig.DEBUG) {
    console.log('当前是debug环境');
} else {
    console.log('当前是release环境');
}

BuildConfig.DEBUG在debug环境下为true,在release环境下为false。通过这种方式,你可以在代码中根据不同的环境执行不同的逻辑。

在HarmonyOS(鸿蒙Next)开发中,可以通过BuildConfig类来判断当前环境是Release还是Debug。具体代码如下:

if (BuildConfig.DEBUG) {
    // 当前是Debug环境
} else {
    // 当前是Release环境
}

BuildConfig.DEBUG在Debug模式下为true,在Release模式下为false

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!