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

React Native Signature Canvas集成Expo后EAS构建AAB包时崩溃

解决Expo EAS构建AAB时react-native-signature-canvas崩溃问题

以下是针对该问题的排查和解决步骤:

  • 确保依赖版本兼容
    react-native-signature-canvas依赖react-native-webview,EAS构建环境对依赖版本的兼容性要求更严格。检查package.json中react-native-webview的版本是否与当前Expo SDK版本匹配,不匹配则升级或降级到对应兼容版本。

  • 添加Gradle打包冲突解决配置
    多个原生依赖可能包含相同的.so文件,导致AAB构建时冲突崩溃。在app.json的expo.build.android节点中添加Gradle额外配置:

    "build": {
      "android": {
        "gradleExtra": "android { packagingOptions { pickFirst 'lib/x86/libc++_shared.so' pickFirst 'lib/x86_64/libc++_shared.so' pickFirst 'lib/armeabi-v7a/libc++_shared.so' pickFirst 'lib/arm64-v8a/libc++_shared.so' } }"
      }
    }
    
  • 启用Hermes引擎
    确认项目启用Hermes引擎,这能提升兼容性和稳定性。在app.json中配置:

    "expo": {
      "android": {
        "hermesEnabled": true
      }
    }
    
  • 清理EAS构建缓存
    旧缓存可能导致依赖加载异常,运行以下命令清理缓存后重新构建:

    eas build --clear-cache
    
  • 配置ProGuard/R8混淆规则
    AAB构建默认启用R8混淆,可能误移除签名组件所需的类。在项目根目录创建android/app/proguard-rules.pro文件,添加如下规则:

    -keep class com.reactnativecommunity.webview.** { *; }
    -keep class com.greghaskins.sigcanvas.** { *; }
    

    然后在app.json中指定该规则文件:

    "expo": {
      "android": {
        "proguardRules": "android/app/proguard-rules.pro"
      }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 13:25:38