stripe-android lib 1.0.3升级导致执行错误

时间:2016-01-17 23:10:23

标签: android android-studio gradle build.gradle stripe-payments

我升级到最新的stripe-android lib:compile 'com.stripe:stripe-android:1.0.3'

只需要我向Card构造函数添加货币(" USD"):

Card stripeCard = new Card(
  cardNumber, month, year, cvc, name,
  line1, line2, city, state, zip, "US", "USD"
);

但是这会在成功编译后在Android Studio中导致执行错误:

enter image description here

当我降级到compile 'com.stripe:stripe-android:1.0.0'

时,执行错误就消失了

这是 build.gradle 的一部分:

compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "com.website.app"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 20
    versionName "1.0"
}

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

货币不能作为参数传递给构造函数,但您可以使用卡片的Builder或明确设置属性来设置它,即

//using the Builder
Card card = new Card.Builder("4242424242424242", 9, 2018, "123").currency("usd").build();

//or set the property once you've created the card
card.setCurrency("usd")

答案 1 :(得分:0)

看起来我第一次达到了65k的限制。我的最终解决方案是包含我需要的Google Play服务的特定API,而不是所有这些API。在此处阅读更多内容:https://developers.google.com/android/guides/setup

按照@Gabriele Mariotti的建议运行./gradlew assemble --info有助于给我一个稍微详细的“意想不到的顶级DEX EXCEPTION”。有了这个,我发现了这篇文章:Why did this happen? How do i fix this? Android: UNEXPECTED TOP-LEVEL EXCEPTION:,它引导我阅读此文档https://developer.android.com/tools/building/multidex.html