【发布时间】:2015-05-02 08:39:55
【问题描述】:
我正在尝试使用 Twilio 中的库发送 SMS,但在将它们导入我的项目时遇到问题。我正在关注这个tutorial,他们说要创建pom.xml 并输入以下内容。
<dependency>
<groupId>com.twilio.sdk</groupId>
<artifactId>twilio-java-sdk</artifactId>
<version>3.4.5</version>
</dependency>
我找到了这个question 所以我按照答案并将依赖项转换为以下并将其添加到 build.gradle
compile 'com.twilio.sdk:twilio-java-sdk:3.4.5'
编译时出现以下错误,我不知道如何修复它们。
然后我决定使用他们的 Pre-built jar,所以我将它们添加到我的依赖项中。构建的错误消失了,但是当我尝试按照上述教程发送短信时,在尝试发送时出现以下错误。
3-01 21:23:08.056 12507-12507/com.example.ammar.theguardian E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NoSuchMethodError: org.apache.http.conn.scheme.Scheme.<init>
at org.apache.http.impl.conn.SchemeRegistryFactory.createDefault(SchemeRegistryFactory.java:47)
at org.apache.http.impl.conn.PoolingClientConnectionManager.<init>(PoolingClientConnectionManager.java:93)
at com.twilio.sdk.TwilioClient.<init>(TwilioClient.java:140)
at com.twilio.sdk.TwilioRestClient.<init>(TwilioRestClient.java:19)
at com.example.ammar.theguardian.guardianService.sendTextMessage(guardianService.java:233)
at com.example.ammar.theguardian.guardianService.onCreate(guardianService.java:53)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2264)
at android.app.ActivityThread.access$1600(ActivityThread.java:127)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4511)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:976)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:743)
at dalvik.system.NativeStart.main(Native Method)
我该如何解决这个问题?谢谢!
更新:build.gradle 文件内容按照 cmets 的要求发布在这里
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.ammar.theguardian"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.twilio.sdk:twilio-java-sdk:3.4.5'
compile 'org.apache.httpcomponents:httpclient:4.1.2'
}
【问题讨论】:
-
添加此依赖并尝试..似乎存在多个相同类型的类..
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.1.2</version> </dependency> </dependencies> -
我将其转换为
compile 'org.apache.httpcomponents:httpclient:4.1.2'并得到相同的错误,但还有两个关于依赖性的警告。 -
你也可以发布你的 build.gradle 文件吗..
-
在 build.gradle 中删除这一行并尝试....我怀疑您的 libs 文件夹中有 .jar 文件...
compile fileTree(dir: 'libs', include: ['*.jar']) -
我做了,但我仍然遇到同样的错误!