diff --git a/frameworks/kits/ability/native/src/ability_runtime/js_ability.cpp b/frameworks/kits/ability/native/src/ability_runtime/js_ability.cpp index d4f1113f74b42daa1e059a1e76650ef9dbc7325d..b5e5110d0bb2770f0d082db88207275e4981cfb6 100755 --- a/frameworks/kits/ability/native/src/ability_runtime/js_ability.cpp +++ b/frameworks/kits/ability/native/src/ability_runtime/js_ability.cpp @@ -51,11 +51,24 @@ void JsAbility::Init(const std::shared_ptr &abilityInfo, } std::string srcPath(abilityInfo->package); - srcPath.append("/assets/js/"); - if (!abilityInfo->srcPath.empty()) { - srcPath.append(abilityInfo->srcPath); + if (!abilityInfo->isStageBasedModel) { + /* temporary compatibility api8 + config.json */ + srcPath.append("/assets/js/"); + if (!abilityInfo->srcPath.empty()) { + srcPath.append(abilityInfo->srcPath); + } + srcPath.append("/").append(abilityInfo->name).append(".abc"); + } else { + if (abilityInfo->srcEntrance.empty()) { + HILOG_ERROR("abilityInfo srcEntrance is empty"); + return; + } + srcPath.append("/"); + srcPath.append(abilityInfo->srcEntrance); + srcPath.erase(srcPath.rfind(".")); + srcPath.append(".abc"); + HILOG_INFO("JsAbility srcPath is %{public}s", srcPath.c_str()); } - srcPath.append("/").append(abilityInfo->name).append(".abc"); std::string moduleName(abilityInfo->moduleName); moduleName.append("::").append(abilityInfo->name);