-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
每次代码热更新报错 #10
Comments
您好,麻烦贴一下更多相关的日志,以供排查 另外,仓库中有 build-profile.json5 示例:https://github.com/growingio/growingio-sdk-harmonyos/blob/master/build-profile.json5 |
https://github.com/growingio/growingio-sdk-harmonyos/blob/master/build-profile.json5 这个案例中: |
这是由于此 repo 中的工程包括集成示例 entry 模块、SDK 模块、SDK toolsKit 模块,共 3 个模块,因此这部分配置可以忽略 日志中除了:
无法得到更多有效信息来直接判断与 SDK 相关 可以从以下思路排查:
|
项目代码的包{
"modelVersion": "5.0.0",
"description": "Please describe the basic information.",
"dependencies": {
"@ohos/axios": "^2.2.2",
"@xinyansoft/oh-crop": "^1.0.3",
"@growingio/analytics": "^2.0.1"
},
"devDependencies": {
"@ohos/hypium": "1.0.18",
"@ohos/hamock": "1.0.0"
},
"dynamicDependencies": {}
} 项目代码的工程配置{
"app": {
"signingConfigs": [
// 演示忽略
],
"products": [
{
"name": "default",
"signingConfig": "default",
"compatibleSdkVersion": "5.0.0(12)",
"runtimeOS": "HarmonyOS",
"buildOption": {
"strictMode": {
"useNormalizedOHMUrl": true,
}
}
}
],
"buildModeSet": [
{
"name": "debug",
},
{
"name": "release"
}
]
},
"modules": [
{
"name": "entry",
"srcPath": "./entry",
"targets": [
{
"name": "default",
"applyToProducts": [
"default"
]
}
]
}
]
} |
根据以上描述,大概率跟 growingio/analytics 无关 建议按 使用约束 中的内容进行排查。在未得到有效结果后,再向官方提 issue |
补充一下,v1.1.0 这个版本不会出现这个问题 |
可以怀疑与字节码 Har 有关,1.1.0 与 2.x.x 在编译上的主要差异在此 (2.0.0 起,SDK 中的 build-profile.json5,更新了 buildOptions.arkOptions.byteCodeHar 为 true,因此才需要您在工程级的 build-profile.json5 配置 useNormalizedOHMUrl 为 true) 经测试,可能是由于运行编译时,【意外地】将字节码 Har 依赖的源码 Har 合入最终 modules.abc 产物,导致热重载的过程中,定位 Class 偏移量错误,导致崩溃。 在本案例中,字节码 Har 为 growingio/analytics,依赖的源码 Har 为 snappyjs 首先,无论是否集成 growingio/analytics,同一套 UI 代码生成的热重载 modules.abc 文件都一样未集成 growingio/analytics最终 modules.abc 仅包含 entry 模块 class,class_def 为 12 集成 growingio/analytics 2.0.1(未使用)最终 modules.abc 【意外地】包含 snappyjs 内的 class,class_def 为 15 集成 growingio/analytics 1.1.0(未使用)最终 modules.abc 仅包含 entry 模块 class,class_def 为 12 集成并使用 growingio/analytics 2.0.1最终 modules.abc 包含 growingio/analytics + snappyjs 内的 class,class_def 为 54 |
可得出的结论:
那么,直接使用 growingio/analytics 相关功能,可能就不会有此 issue 反馈的问题了。 |
谢谢您的耐心回复,我试试使用后会不会有这个issue,可能这次验证等待时间会长一些,我会记得回复的 |
使用这个库后 每次代码热更新会报错:
Reason:Signal:SIGABRT(SI_TKILL)@0x01317bc9000045c0 from:17856:20020169
LastFatalMessage:[gc] AllocateBuffer:629 size must have a size bigger than 0
想看一下详细工程级的build-profile.json5文件,是不是和我的配置有关
The text was updated successfully, but these errors were encountered: