Paypal Android集成的奇怪问题

时间:2016-02-12 12:35:32

标签: android paypal

我正在将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',它运行良好。 我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我发现了问题。

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

解决这个问题:

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

方法2.使用abiFilters选择你拥有的东西:

    ndk {
        abiFilters "x86", "armeabi"
    }

答案 1 :(得分:1)

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

按照shawn的回答,我遇到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'
        }
    }
}

因为其他口味并不适用于所有设备。