Loading...

为什么运行 Demo 成功后提示初始化失败?

问题原因

  • 安装包未读取到sha1签名
  • 安装包信息未注册

解决办法

1.gradle 配置打开 V1 签名

signingConfigs {
debug {
v1SigningEnabled true
v2SigningEnabled true
}
release {
v1SigningEnabled true
v2SigningEnabled true
}
}
buildTypes {
release {
minifyEnabled true
debuggable false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
minifyEnabled false
debuggable true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}
}

2.运行之后可以在 Logcat 控制台过滤 'NemoSDK' 字段来查看是否已经正确获取到签名

NemoSDK:  ======== init ok, sdkVersion=2.29.5, wrappedAppID= com.xylink.sdk.sample_F9:68:88:66:55:2E:39:F2:62:49:64:93:02:44:7C:F8:94:47:45:B2, settings= Settings{extID='12e53a6df2e91e6177e627c8e336a6888ff98104', isDebug=false, privateCloudAddress='null', logLevel=LogLevel_Info, enableLog=true, enableAudioPeakMeter=false, defaultCameraId=1}

如上各个字段解释如下:

    • sdkVersion: SDK 版本号 2.29.5
    • wrappedAppID: SDK 校验 ID,包名_V1 签名 com.xylink.sdk.sample_F9:68:88:66:55:2E:39:F2:62:49:64:93:02:44:7C:F8:94:47:45:B2
    • settings: 初始化接口传递 Settings 参数 因此在三方项目的集成过程中,登录失败时开发者需要确认初始化时打印的包名、签名、企业 ID 等参数是否和管理后台注册时填写的一致!

3.配置 v1SigningEnabled 后仍然没有获取到 V1 签名值

这个时候就需要核对 Android 项目 gradle 版本了,此前有遇到 gradle5.6 版本即使显示声明了 V1 签名打开依然不生效的情景,因此建议尝试更换 gradle 以及 gradle 插件版本来解决。

如下为 gradle 版本列表以及官方 gradle5.6 版本 V1 签名 bug 说明:


意见反馈