【问题标题】:AWSMobileClient is not found未找到 AWSMobileClient
【发布时间】:2019-12-27 18:14:12
【问题描述】:

我已按照this 步骤将 AWS 移动开发工具包添加到我的应用程序。 当我到达“连接您的后端”部分的第 4 步并尝试编译我的应用程序时,我收到以下错误:

Error:(20, 9) error: cannot find symbol variable AWSMobileClient

我查阅了here 的文档,发现AWSMobileClient 类应该在com.amazonaws.mobile.client.AWSMobileClient 包内,但是当我尝试手动导入提到的包时,出现以下错误:

Error:(9, 28) error: package com.amazonaws.mobile does not exist

我当前的项目文件如下所示:

MainActivity.java

package point.cursoandroid.com.medpoint;

import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {

    private Button botaoLogin;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        AWSMobileClient.getInstance().initialize(this).execute();
        botaoLogin = (Button) findViewById(R.id.botaoLoginId);

        botaoLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(MainActivity.this, LoginActivity.class));
            }
        });
    }
}

app/build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.3"

    defaultConfig {
        applicationId "point.cursoandroid.com.medpoint"
        minSdkVersion 25
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:27.+'
    compile 'com.android.support:support-v4:27.+'
    compile 'com.android.support:design:27.+'
    compile 'com.amazonaws:aws-android-sdk-core:2.6.+'
    compile 'com.amazonaws:aws-android-sdk-s3:2.6.+'
    compile 'com.amazonaws:aws-android-sdk-ddb:2.6.+'
}

使用 AndroidStudio 3.0.1 那么,有什么想法吗?

【问题讨论】:

    标签: java android amazon-web-services amazon-mobile-hub


    【解决方案1】:

    需要在build.gradle中导入相应的依赖

    dependencies {
        implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.16.+@aar') { transitive = true; }
    }
    

    执行 gradle 同步,您应该能够导入类和包。

    编辑:将 2.16.+ 替换为最新版本的适用于 Android 的 AWS 开发工具包。最新版本可以在GitHubMaven Repository 中找到。

    有关AWSMobileClient 的更多信息,请访问DocumentationAPIReference

    【讨论】:

    • 谢谢。您在哪里可以找到这些信息?
    • 使用上下文(this)调用的初始化方法,初始化SDK,获取认知身份。这将使您能够访问 AWSConfiguration 对象和 AWSCredentialsProvider 对象,您可以使用它们来实例化开发工具包提供的其他客户端。当 execute() 成功时,您将能够通过 AWSMobileClient.getInstance().getCredentialsProvider() 访问凭证提供者对象。
    • @ShubhamGoel 即使在导入依赖项后,您是否仍然收到“找不到符号变量 AWSMobileClient”?
    猜你喜欢
    • 2020-04-05
    • 1970-01-01
    • 2019-05-23
    • 2019-05-28
    • 2020-09-24
    • 2017-01-03
    • 2018-05-03
    • 2020-11-22
    • 1970-01-01
    相关资源
    最近更新 更多