HarmonyOS 鸿蒙Next开发中 怎么判断当前环境是 release环境 还是 debug 环境
HarmonyOS 鸿蒙Next开发中 怎么判断当前环境是 release环境 还是 debug 环境 在鸿蒙开发中,怎么判断当前环境是 release环境 还是 debug 环境?
在编译构建的时候可以在编辑器的右上角选择编译模式:Build Mode(debug/release)。
更多关于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
。