Android 我无法使用Kotlin中的Twilio API发送消息,因为出现了一个错误并使我的应用程序崩溃

Android 我无法使用Kotlin中的Twilio API发送消息,因为出现了一个错误并使我的应用程序崩溃,android,android-studio,kotlin,twilio,twilio-api,Android,Android Studio,Kotlin,Twilio,Twilio Api,我一直试图让我的应用程序向我发送短信,但现在还没有找到任何办法。我一直在尝试使用Twilio的2个官方教程在Kotlin中发送短信。这是我的代码: Twilio.init(“MyTwilioId”、“mytwilioauth”) val message=message.creator( 电话号码(“mynumber”), 电话号码(“TwilionNumber”), “你好,来自Starfruit!” ).create() 打印(message.sid) 我的OnCreate函数中有这个要测试

我一直试图让我的应用程序向我发送短信,但现在还没有找到任何办法。我一直在尝试使用Twilio的2个官方教程在Kotlin中发送短信。这是我的代码:

Twilio.init(“MyTwilioId”、“mytwilioauth”)
val message=message.creator(
电话号码(“mynumber”),
电话号码(“TwilionNumber”),
“你好,来自Starfruit!”
).create()
打印(message.sid)
我的OnCreate函数中有这个要测试。然而,每当我尝试运行我的应用程序时,它就会崩溃。如果我将其取出,我的代码运行良好,但每当我的应用程序中有它时,它在打开时立即崩溃,并在LogCat中显示此错误消息:

2020-10-21 22:54:05.302 7120-7120/com.gradient.starfruit E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.gradient.starfruit, PID: 7120
    java.lang.NoSuchFieldError: No static field INSTANCE of type Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier; in class Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier; or its superclasses (declaration of 'org.apache.http.conn.ssl.AllowAllHostnameVerifier' appears in /system/framework/framework.jar!classes3.dex)
        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144)
        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.getSocketFactory(SSLConnectionSocketFactory.java:172)
        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.getDefaultRegistry(PoolingHttpClientConnectionManager.java:109)
        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:116)
        at com.twilio.http.NetworkHttpClient.<init>(NetworkHttpClient.java:58)
        at com.twilio.http.TwilioRestClient$Builder.build(TwilioRestClient.java:102)
        at com.twilio.Twilio.getRestClient(Twilio.java:122)
        at com.twilio.base.Creator.create(Creator.java:45)
        at com.gradient.starfruit.MainActivity.onCreate(MainActivity.kt:41)
        at android.app.Activity.performCreate(Activity.java:8086)
        at android.app.Activity.performCreate(Activity.java:8074)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1313)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3755)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3961)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2386)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:213)
        at android.app.ActivityThread.main(ActivityThread.java:8178)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
2020-10-21 22:54:05.302 7120-7120/com.gradient.starfruit E/AndroidRuntime:致命异常:main
工艺:com.gradient.starfruit,PID:7120
java.lang.NoSuchFieldError:没有Lorg/apache/http/conn/ssl/AllowlHostNameVerifier类型的静态字段实例;Lorg/apache/http/conn/ssl/AllowlHostNameVerifier类中;或其超类(声明'org.apache.http.conn.ssl.AllowAllHostnameVerifier'出现在/system/framework/framework.jar!classes3.dex中)
位于org.apache.http.conn.ssl.SSLConnectionSocketFactory(SSLConnectionSocketFactory.java:144)
位于org.apache.http.conn.ssl.SSLConnectionSocketFactory.getSocketFactory(SSLConnectionSocketFactory.java:172)
位于org.apache.http.impl.conn.poolghttpclientconnectionmanager.getDefaultRegistry(poolghttpclientconnectionmanager.java:109)
位于org.apache.http.impl.conn.PoolighttpClientConnectionManager。(PoolighttpClientConnectionManager.java:116)
http.NetworkHttpClient.(NetworkHttpClient.java:58)
位于com.twilio.http.TwilioRestClient$Builder.build(TwilioRestClient.java:102)
位于com.twilio.twilio.getRestClient(twilio.java:122)
位于com.twilio.base.Creator.create(Creator.java:45)
位于com.gradient.starfruit.MainActivity.onCreate(MainActivity.kt:41)
位于android.app.Activity.performCreate(Activity.java:8086)
位于android.app.Activity.performCreate(Activity.java:8074)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1313)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3755)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3961)
在android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)中
在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)中
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:2386)
位于android.os.Handler.dispatchMessage(Handler.java:107)
位于android.os.Looper.loop(Looper.java:213)
位于android.app.ActivityThread.main(ActivityThread.java:8178)
位于java.lang.reflect.Method.invoke(本机方法)
位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
老实说,我并不真正理解错误消息,但我相当确定是我的message.creator造成的。如果有人知道我能做些什么来修复这个错误,或者我应该做些什么来代替我现在在Kotlin发送的消息,我们将非常感谢您的帮助


提前感谢您的帮助。

这不完全是我最初制作的,但我找到了一种相对简单的方法,从android应用程序发送消息

val smsmsmanager:smsmsmanager=smsmsmanager.getDefault()
smsManager.sendTextMessage(“+1999999999”,null,“消息在这里传递!”,null,null);
这将使手机本身发送任何号码的文本。您还需要为此发送sms权限,因此您的清单文件中应该有此权限的
,MainActivity文件中也应该有此权限的代码来请求权限

if(ContextCompat.checkSelfPermission(this@MainActivity,Manifest.permission.SEND_SMS)!==PackageManager.permission_已授予){
如果(ActivityCompat.shouldShowRequestPermissionRegulation)(this@MainActivity,Manifest.permission.SEND_SMS)){
ActivityCompat.requestPermissions(this@MainActivity,arrayOf(Manifest.permission.SEND_SMS),1)
}否则{
ActivityCompat.requestPermissions(this@MainActivity,arrayOf(Manifest.permission.SEND_SMS),1)
}
}

您使用的Android sdk版本是什么?@A-Developer-Has-No-Name我使用的是4.1版。