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

React Native集成PayooSDK后Release包崩溃问题求助

React Native集成PayooSDK Release APK崩溃解决方案

报错核心分析

崩溃根源是java.lang.NoSuchFieldException: EXTERNAL,这是因为Release构建时的R8/ProGuard代码优化移除了PayooSDK反射依赖的EXTERNAL字段,Debug环境默认关闭优化所以运行正常。

解决方案

  • 添加ProGuard规则保留SDK相关类和字段
    在android/app/proguard-rules.pro文件中补充以下规则,防止SDK核心类、字段被混淆移除:

    # 完整保留PayooSDK所有类、方法与字段
    -keep class vn.payoo.paymentsdk.** { *; }
    # 保留反射所需的EXTERNAL字段
    -keepclassmembers class ** {
        public static final java.lang.String EXTERNAL;
    }
    # 若SDK依赖Gson等序列化库,需同步保留对应类(按需添加)
    -keep class com.google.gson.** { *; }
    
  • 验证依赖配置一致性
    检查android/app/build.gradle中PayooSDK的依赖是否同时适配所有构建变体,避免仅在Debug环境引入:

    dependencies {
        implementation 'vn.payoo:paymentsdk:x.x.x' // 替换为实际使用的SDK版本
    }
    
  • 重新构建Release包
    执行清理与构建命令:

    cd android
    ./gradlew clean
    ./gradlew assembleRelease
    
  • 临时排查方案(不建议长期使用)
    若添加规则后仍有问题,可临时关闭R8优化验证是否为混淆导致,在android/gradle.properties中添加:

    android.enableR8=false
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 05:01:36