【问题标题】:react native release apk crashes on RazorpayCheckout.open razorpay gatewayReact Native Release apk 在 RazorpayCheckout.open razorpay 网关上崩溃
【发布时间】:2020-01-18 07:46:53
【问题描述】:

我是 react-native 和支付网关以及创建 Android 应用程序的新手, 我在用 “反应”:“16.9.0”, “反应原生”:“0.60.5”, "react-native-razorpay": "^2.1.30",

我也链接了使用 react-native 链接 react-native-razorpay

并将包导入为

从“react-native-razorpay”导入 RazorpayCheckout;

并将网关称为:

    RazorpayCheckout.open(options).then((data) => {
       .............
        alert(`Success: ${JSON.stringify(data)}`);
    }).catch((error) => {
        alert(`Error: ${JSON.stringify(error)}`);
    });

当我在调试模式下运行应用程序时代码有效,但是当我使用创建 apk 时 bundleRelease 和 assembleRelease。

在我尝试付款之前,apk 可以正常工作。

我的结论:当 apk 转到 RazorpayCheckout.open 函数调用时,应用程序崩溃。我不知道如何调试它并在这里遇到死胡同。

【问题讨论】:

  • Razor 付费加载程序打开并且应用程序关闭后?
  • 您能否检查您传递的金额是否处于暂停状态,例如 601.23 应该是 60123,如果它与小数一起使用,那么他们会抛出错误
  • 检查您通过的金额。
  • 我也面临同样的问题。我仅将金额作为 60123 传递。当 Razorpay.open 触发时。应用程序本身崩溃/关闭。

标签: android react-native razorpay


【解决方案1】:

我遇到了同样的问题。我只是禁用了 progaurd 规则。 enableProguardInReleaseBuilds = false

【讨论】:

    【解决方案2】:

    当我取消 Razor 支付或它的成功应用程序在没有任何日志的情况下崩溃时,我也面临同样的问题。

    解决方法很简单:-

    1 步

    中创建一个 proguard-rules.pro 的文件名
    android>app
    that should be : android/app/proguard-rules.pro
    then paste below code inside proguard-rules.pro file
    
    -keepclassmembers class * {
        @android.webkit.JavascriptInterface <methods>;
    }
    
    -keepattributes JavascriptInterface
    -keepattributes *Annotation*
    
    -dontwarn com.razorpay.**
    -keep class com.razorpay.** {*;}
    
    -optimizations !method/inlining/*
    
    -keepclasseswithmembers class * {
      public void onPayment*(...);
    }
    

    两步 转到 android>app>build.gradle 并找到 buildTypes 在 buildTypes>release 添加一些行

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
            minifyEnabled true
            useProguard true 
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    

    3 步

    如果您想在调试模式下运行 APK,也可以在调试中执行与第 2 步相同的操作

    【讨论】:

      猜你喜欢
      • 2021-04-05
      • 2019-07-05
      • 1970-01-01
      • 2019-08-07
      • 2022-01-02
      • 2018-05-16
      • 2023-03-18
      • 2021-12-29
      相关资源
      最近更新 更多