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

查看文件

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