AmazonSQSClientBuilder.defaultClient()java.lang.NoSuchFieldError:没有Lorg/apache/http/conn/ssl/AllowlHostNameVerifier类型的静态字段实例

AmazonSQSClientBuilder.defaultClient()java.lang.NoSuchFieldError:没有Lorg/apache/http/conn/ssl/AllowlHostNameVerifier类型的静态字段实例,java,android,android-studio,Java,Android,Android Studio,java.lang.RuntimeException:无法启动活动组件信息{com.example.msgqueue3/com.example.msgqueue3.MainActivity}:java.lang.NullPointerException:尝试调用接口方法'com.amazonaws.services.sqs.model.CreateQueueResult com.amazonaws.services.sqs.AmazonSQS.createQueue(com.amazonaws.

java.lang.RuntimeException:无法启动活动组件信息{com.example.msgqueue3/com.example.msgqueue3.MainActivity}:java.lang.NullPointerException:尝试调用接口方法'com.amazonaws.services.sqs.model.CreateQueueResult com.amazonaws.services.sqs.AmazonSQS.createQueue(com.amazonaws.services.sqs.model.CreateQueueRequest)'在空对象引用上

AWS SQS连接问题及其工作

     ProfileCredentialsProvider credentialsProvider = new ProfileCredentialsProvider();

    try {

        credentialsProvider.getCredentials();
    } catch (Exception e) {
        throw new AmazonClientException(
                "Cannot load the credentials from the credential profiles file. " +
                        "Please make sure that your credentials file is at the correct " +
                        "location (~/.aws/credentials), and is in valid format.",
                e);

    }
    AmazonSQS sqs = AmazonSQSClientBuilder.standard()
            .withCredentials(credentialsProvider)
            .withRegion(Regions.US_WEST_2)
            .build();

我建议使用AWS Java SDKV2。在Android上工作时,它将允许您使用备用HTTP运行时,并避免Apache客户端出现一些混乱

在AWS Java SDK V2中,repo解决了这个主题

具体而言,在模块级
build.gradle
中,添加依赖项:

dependencies {
    implementation 'software.amazon.awssdk:sqs:2.13.49'
    implementation 'software.amazon.awssdk:url-connection-client:2.13.49'
}
现在,初始化SQS客户端:

val sqs=SqsClient.builder()
.httpClient(UrlConnectionHttpClient.create())
.地区(美国东部地区1)
.credentialsProvider(yourCredentialsHere())
.build()

[什么是NullPointerException以及如何修复它?]()谢谢。AmazonSQS sqs=AmazonSQSClientBuilder.defaultClient();不为我工作