Expo React Native集成Veriff SDK后Android构建失败
Expo React Native 中 Veriff SDK Android 构建失败(Bitmap.Config 类型不匹配)
这是Gradle/Java更新后,Veriff SDK的Kotlin代码与新版依赖出现的类型兼容问题,给你几个临时解决办法:
1. 直接修改SDK源码应急
找到项目内的文件:node_modules/@veriff/react-native-sdk/android/src/main/java/com/veriff/sdk/reactnative/ReactNativeImageProvider.kt
定位到第44行,把导致类型不匹配的代码改成非空安全写法:
- 若原代码是
bitmap.copy(config, true),改成bitmap.copy(config ?: Bitmap.Config.ARGB_8888, true)(用默认值兜底,避免空指针) - 或用非空断言
bitmap.copy(config!!, true)(注意:仅确定config不会为空时使用,否则会触发崩溃)
修改完成后重新执行构建:npx expo run:android
2. 锁定兼容的依赖版本
- 在Android根目录的
build.gradle文件中,锁定Kotlin版本到Veriff SDK兼容的版本,示例:buildscript { ext { kotlin_version = "1.8.22" // 可根据Veriff官方要求调整版本号 } } - 确保项目使用的Java版本符合Veriff要求(比如Java 11),可在
gradle.properties中配置:org.gradle.java.home=/path/to/java11
3. 用patch-package持久化修复
避免重新安装依赖后丢失修改:
- 安装工具:
npm install patch-package --save-dev - 修改完SDK源码后,生成补丁:
npx patch-package @veriff/react-native-sdk - 在
package.json的scripts中添加自动应用补丁的命令:"scripts": { "postinstall": "patch-package" }
这样每次执行npm install后,补丁会自动生效。
以上均为临时方案,等Veriff官方修复SDK后,记得升级到最新版本即可。
内容的提问来源于stack exchange,提问作者Yamin Ooh
相关产品推荐
相关产品推荐

