【问题标题】:Strange Issue with Paypal Android IntegrationPaypal Android 集成的奇怪问题
【发布时间】:2016-05-23 14:45:54
【问题描述】:

我正在将 Paypal 支付网关与我的 Android 应用程序集成。我已经添加了这个依赖:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:recyclerview-v7:+'
    compile 'com.android.support:palette-v7:+'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.parse:parse-android:1.+'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.paypal.sdk:paypal-android-sdk:2.13.1'
    compile 'com.android.support:cardview-v7:23.1.1'
    compile 'com.mcxiaoke.volley:library-aar:1.0.0'
}

当我添加这个'com.paypal.sdk:paypal-android-sdk:2.13.1' 时,应用程序无法加载我的 JNI 库。

static {
    System.loadLibrary("myLibrary");
}

如果我删除这个'com.paypal.sdk:paypal-android-sdk:2.13.1',它运行良好。 我该如何解决这个问题?

【问题讨论】:

  • 我遇到了同样的问题....有什么帮助吗?

标签: android paypal


【解决方案1】:

我发现了问题。

如果您只有“armeabi”的 jni 库,那么如果您将 APK 安装到“armeabi-v7a”,则只会使用“armeabi-v7a”中的 jni 库,因为 PayPal 有它们。

解决这个问题:

方法1.为不同平台提供尽可能多的jni库。

方法 2. 使用 abiFilters 选择您拥有的内容:

    ndk {
        abiFilters "x86", "armeabi"
    }

【讨论】:

  • 你好肖恩。你的答案是正确的。是否有任何示例代码可以在我的 gradle 文件中添加 abiFilters
  • 这取决于您使用的是哪个 android 构建系统。对我来说,在 build.gradle 中,结构是这样的: android { defaultConfig { ndk { abiFilters "x86", "armeabi" } } }
【解决方案2】:

必须在同一个应用程序中集成 Unity 和 PayPal; Unity 工作正常,但是当我添加 PayPal SDK 时,我无法再与之通信,应用程序崩溃了。

按照肖恩的回答,我遇到了this gradle,并尝试添加productFlavors。我的 gradle 最终看起来像这样:

productFlavors {
    arm7 {
        // in the future, ndk.abiFilter might also work
        ndk {
            abiFilter 'armeabi-v7a'
        }
    }
    all {
        ndk {
            abiFilters 'mips', 'mips64', 'x86', 'x86_64'
        }
    }
}

因为其他口味并非在所有设备上都有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-26
    • 2014-11-01
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多