2016-02-12 107 views
2

我將Paypal支付網關與我的Android應用程序集成。當我加入這個'com.paypal.sdk:paypal-android-sdk:2.13.1'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' 
} 

,應用程序無法加載我的JNI庫:我已經添加了這種依賴性。

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

如果我刪除此'com.paypal.sdk:paypal-android-sdk:2.13.1'它的工作好。 我該如何解決這個問題?

+0

我遇到了同樣的問題....任何幫助? – shawn

回答

1

我發現了這個問題。

如果您只有「armeabi」的jni庫,那麼如果您將APK安裝到「armeabi-v7a」,只會使用「armeabi-v7a」中的jni庫,因爲PayPal擁有它們。

解決這個問題:

方法1.提供儘可能多的爲不同的平臺可能JNI庫。

方法2.使用abiFilters選擇你所擁有的:

ndk { 
     abiFilters "x86", "armeabi" 
    } 
+0

你好肖恩。你的回答是正確的。是否有任何示例代碼在我的gradle文件中添加abiFilters – Moses

+0

這取決於您使用的是哪個Android構建系統。對我來說,在build.gradle中,結構如下所示:android {defaultConfig {ndk {abiFilters「x86」,「armeabi」}}} – shawn

1

不得不團結和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' 
     } 
    } 
} 

因爲其他口味並沒有在所有設備上工作。