You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React-Native 0.76.1中react-native-pdf-thumbnail 1.3.1构建失败求助

解决React Native 0.76.1升级后react-native-pdf-thumbnail编译错误

错误原因

React Native 0.76.1升级后,Android端Kotlin空安全检查标准更严格,react-native-pdf-thumbnail库的PdfThumbnailModule.kt第101行代码中,传入的Bitmap.Config?(可空类型)与编译要求的非空Bitmap.Config类型不匹配,导致编译失败。

解决方案

方案1:升级库到适配RN 0.76的版本

先检查react-native-pdf-thumbnail是否有适配RN 0.76的新版本,执行命令更新:

npm update react-native-pdf-thumbnail
# 或使用yarn
yarn upgrade react-native-pdf-thumbnail

更新后重新运行构建,若新版本已修复该问题,即可解决报错。

方案2:手动修改库代码(临时修复)

如果库暂无适配版本,直接修改node_modules中的对应文件:

  1. 打开文件:/Users/myuser/Documents/myproject/node_modules/react-native-pdf-thumbnail/android/src/main/java/org/songsterq/pdfthumbnail/PdfThumbnailModule.kt
  2. 定位到第101行,将可空的Bitmap.Config?转为非空类型,二选一即可:
    • 方式A(确保该值不会为null时使用):用!!强制断言非空
      // 原代码示例:Bitmap.createBitmap(width, height, config)
      // 修改后:
      Bitmap.createBitmap(width, height, config!!)
      
    • 方式B(更安全,避免空指针):提供默认配置
      Bitmap.createBitmap(width, height, config ?: Bitmap.Config.ARGB_8888)
      
  3. 保存文件后重新执行构建:
    npx react-native run-android
    

方案3:用patch-package持久化修改

为避免每次npm install后修改被覆盖,用patch-package生成持久化补丁:

  1. 安装patch-package:
    npm install patch-package --save-dev
    # 或yarn
    yarn add patch-package postinstall-postinstall --dev
    
  2. 修改完库代码后,生成补丁文件:
    npx patch-package react-native-pdf-thumbnail
    
  3. 项目根目录会生成patches/react-native-pdf-thumbnail+[对应版本号].patch文件,将该文件提交到版本控制。后续执行npm install时,补丁会自动应用到库文件中。

内容的提问来源于stack exchange,提问作者Aron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 08:39:54