React Native打包Release APK失败:react-native-create-thumbnail编译错误
解决React Native Release APK打包失败(:react-native-create-thumbnail:compileReleaseJavaWithJavac错误)
问题原因
Release编译模式启用了更严格的代码检查,要求必须处理受检异常IOException,而react-native-create-thumbnail库的CreateThumbnailModule.java第192行的retriever.release()方法未捕获或声明该异常;Debug模式因检查宽松,所以可以正常打包。
解决方法
方法1:临时修改第三方库源码
- 找到项目中的
node_modules/react-native-create-thumbnail/android/src/main/java/com/reactnativecreatethumbnail/CreateThumbnailModule.java文件 - 定位到第192行的
retriever.release()代码,将其包裹在try-catch块中处理异常:try { retriever.release(); } catch (IOException e) { e.printStackTrace(); } - 执行Release打包命令:
./gradlew assembleRelease
注意:此修改会在执行
npm install后被覆盖,仅作为临时方案。
方法2:用patch-package持久化修改(推荐)
- 安装patch-package依赖:
npm install patch-package --save-dev - 修改完上述源码后,执行命令生成补丁:
npx patch-package react-native-create-thumbnail - 后续执行
npm install时,补丁会自动应用到第三方库中,无需重复修改源码。
方法3:升级或替换库
- 检查库是否有修复该问题的新版本,执行升级命令:
npm install react-native-create-thumbnail@latest - 如果新版本未修复,可替换为其他具备缩略图生成功能的库,比如
react-native-image-picker(支持获取图片/视频缩略图)或react-native-thumbnail。
内容的提问来源于stack exchange,提问作者Khairul Habib
相关产品推荐
相关产品推荐

