【问题标题】:Android Firebase UI cannot access aadAndroid Firebase UI 无法访问广告
【发布时间】:2018-02-05 06:33:56
【问题描述】:

我在运行我的应用程序时遇到以下错误:无法访问 aad 未找到 com.google.android.gms.internal.aad 的类文件

我想这将是一个 build.gradle 问题。但是,我在我的构建文件中找不到任何似乎关闭的内容。

这里是顶层 build.gradle

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.3'
    classpath 'com.google.gms:google-services:3.1.0'
}
}

allprojects {
repositories {
    jcenter()
    maven {
        url "https://maven.google.com"
    }
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

这是应用级别的 build.grade:

apply plugin: 'com.android.application'

android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
    applicationId "com.somesite.foo"
    minSdkVersion 16
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    resConfigs "auto"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
testCompile 'junit:junit:4.12'
compile 'com.google.firebase:firebase-core:11.2.0'
compile 'com.firebaseui:firebase-ui-auth:2.3.0'
compile('com.facebook.android:facebook-android-sdk:4.22.1')
}

apply plugin: 'com.google.gms.google-services'

这是试图让一切开始的活动:

protected void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.SplashTheme);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);
    FirebaseAuth auth = FirebaseAuth.getInstance();
    if (auth.getCurrentUser() != null)
    {
        // already signed in
        auth.signOut();
    }
    else
    {
        //AuthU
        // not signed in
        startActivityForResult(
                AuthUI.getInstance()
                        .createSignInIntentBuilder()
                        .setIsSmartLockEnabled(false)
                        .setAvailableProviders(
                                Arrays.asList(new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(),
                                        new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),
                                        new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build()))
                        .build(),
                RC_SIGN_IN);
    }

}

【问题讨论】:

    标签: java android firebase gradle firebaseui


    【解决方案1】:

    此问题可能是由firebase-ui-auth:2.3.0firebase-core:11.2.0 不兼容引起的。最简单的修复方法是降级到 11.0.4,该版本与 firebase-ui-auth:2.3.0 兼容:

    compile 'com.google.firebase:firebase-core:11.0.4' // CHANGED
    compile 'com.firebaseui:firebase-ui-auth:2.3.0'
    compile('com.facebook.android:facebook-android-sdk:4.22.1')
    

    如果您想坚持使用 11.2.0,可以将 2.3.0 桥接至使用 11.2.0 版本,并进行以下更改:

    compile 'com.google.firebase:firebase-core:11.2.0'
    compile 'com.google.firebase:firebase-auth:11.2.0' // ADDED
    compile 'com.google.android.gms:play-services-auth:11.2.0' // ADDED
    compile 'com.firebaseui:firebase-ui-auth:2.3.0'
    compile('com.facebook.android:facebook-android-sdk:4.22.1')
    

    有关库版本兼容性的说明,请参阅FirebaseUI documentation

    【讨论】:

    • 嘿鲍勃。我尝试了顶部代码部分和底部代码部分,但似乎没有解决它。
    • @MackProgramsAlot:检查您的设备/模拟器是否安装了兼容版本的 Google Play 服务。如果您在应用初始化时在 logcat 中看到 W/GooglePlayServicesUtil: Google Play services out of date 消息,则需要升级 Play Services。
    • @MackProgramsAlot:我不知道还有什么建议。将firebase-core:11.2.0 更改为版本 11.0.4 后,我可以毫无错误地构建和运行您的代码。也许在重建之前做一个清洁。
    • 鲍勃。很奇怪。只是随机开始工作。也许它清理了它。无论如何,我很欣赏映射版本号的文档的链接。我照你说的做了。
    【解决方案2】:

    当您的依赖项具有混合版本或不适当的版本时会发生此错误

    要解决此问题,请使用以下步骤:

    1. 打开 build.gradle
    2. 使用以下依赖项:

      implementation 'com.google.firebase:firebase-auth:11.8.0'
      implementation 'com.google.firebase:firebase-database:11.8.0'
      implementation 'com.google.firebase:firebase-storage:11.8.0'
      implementation 'com.android.support:support-v4:27.1.0'
      implementation 'com.firebaseui:firebase-ui-database:3.2.2'
      
    3. 确保不重复任何依赖项

    4. 点击同步

    如果您的 compileSdkVersiontargetSdkVersion 是 27 岁,这肯定会起作用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多