refactor(sdk): 优化 SDK 初始化逻辑和错误处理

- 移除初始化失败原因注释
- 简化授权文件检查逻辑
- 统一错误消息为英文格式
- 优化授权文件路径验证流程
- 改进包名匹配错误提示信息
这个提交包含在:
XuqmGroup 2026-05-29 17:14:20 +08:00
父节点 4d5111dddc
当前提交 90ef764695
共有 2 个文件被更改,包括 6 次插入11 次删除

查看文件

@ -44,23 +44,19 @@ object XuqmSDK {
*/
fun autoInitialize(context: Context, logLevel: LogLevel = LogLevel.WARN) {
val licenseData = readLicenseFileData(context)
if (licenseData == null) {
val found = runCatching { context.assets.list("xuqm")?.toList() }.getOrDefault(emptyList())
throw IllegalStateException(
"授权文件未找到assets/xuqm/ 下实际文件:$found)。" +
"请将 license.xuqm 放置到 src/<flavor>/assets/xuqm/ 目录。"
?: throw IllegalStateException(
"No license file found in assets/xuqm/. " +
"Download license.xuqm from the tenant platform and place it in src/main/assets/xuqm/."
)
}
val appKey = licenseData.first
val serverUrl = licenseData.second
val licensePackageName = licenseData.third
val localPackageName = context.packageName
val localPackageName = context.packageName
if (licensePackageName != null && licensePackageName.isNotBlank() && licensePackageName != localPackageName) {
throw IllegalStateException(
"授权文件与当前应用不匹配:" +
"授权包名 '$licensePackageName',当前包名 '$localPackageName'。" +
"请下载正确版本的授权文件。"
"License package name mismatch: license=$licensePackageName, local=$localPackageName. " +
"Please download the correct license file for this app."
)
}

查看文件

@ -19,7 +19,6 @@ class XuqmInitializerProvider : ContentProvider() {
XuqmSDK.autoInitialize(ctx)
}
}
// 失败原因已存入 XuqmSDK.getInitError(),由 App 决定如何展示
return true
}