Android Studio 构建问题 Google 登录和 Firebase 最新版本 10.2.4

Posted

技术标签:

【中文标题】Android Studio 构建问题 Google 登录和 Firebase 最新版本 10.2.4【英文标题】:Android studio build issue Google sign in and Firebase latest version 10.2.4 【发布时间】:2017-10-07 20:10:28 【问题描述】:

google 登录工作正常,直到我将 firebase jar 放入 gradle 并抛出“错误:(149, 28) com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable 类型无法在源文件中找到,已导入杰克库或类路径” 下面是应用级构建 应用插件:'com.android.application'

android 
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig 
        applicationId "viksit.com.viksit.pro.viksitpro"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        jackOptions 
            enabled true
        
        compileOptions 
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        
    

    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        
    

    dependencies 
        compile fileTree(include: ['*.jar'], dir: 'libs')
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2') 
            exclude group: 'com.android.support', module: 'support-annotations'
        

        android 
            useLibrary 'org.apache.http.legacy'
        
        compile project(':linkedin-sdk')

        compile(group: 'org.simpleframework', name: 'simple-xml', version: '2.7.1') 
            exclude group: 'xpp3', module: 'xpp3'
        

        compile('com.udojava:EvalEx:1.0') 
            exclude group: 'junit', module: 'junit'
        


        compile 'com.google.code.gson:gson:2.8.0'
        compile 'com.android.support:appcompat-v7:25.0.2'
        compile 'com.android.support.constraint:constraint-layout:1.0.2'
        compile 'com.squareup.picasso:picasso:2.5.2'
        compile 'com.facebook.android:facebook-android-sdk:4.18.0'
        compile 'com.afollestad.material-dialogs:commons:0.9.4.2'
        compile 'com.google.firebase:firebase-database:10.2.4'
        compile 'com.google.firebase:firebase-core:10.2.4'
        compile 'com.google.firebase:firebase-auth:10.2.4'
        compile 'com.google.android.gms:play-services-auth:10.2.4'
        compile 'com.google.gms:google-services:3.0.0'
        compile 'com.android.support:support-v4:25.0.2'
        compile 'com.felipecsl:gifimageview:2.1.0'
        compile 'me.itangqi.waveloadingview:library:0.3.5'
        compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
        compile 'com.github.siyamed:android-shape-imageview:0.9.+@aar'
        compile 'com.android.support:design:25.3.0'
        compile 'com.github.vipulasri:timelineview:1.0.5'
        compile 'com.jaredrummler:material-spinner:1.1.0'
        compile 'com.bignerdranch.android:expandablerecyclerview:3.0.0-RC1'
        compile 'com.truizlop.sectionedrecyclerview:library:1.2.0'
        compile 'com.github.castorflex.verticalviewpager:library:19.0.1'
        compile 'link.fls:swipestack:0.3.0'
        compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.3'
        compile 'com.github.bumptech.glide:glide:3.7.0'
        compile 'com.mikhaellopez:circularimageview:3.0.2'
        compile 'com.theartofdev.edmodo:android-image-cropper:2.3.+'
        testCompile 'junit:junit:4.12'
    

下面是项目级build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript 
    repositories 
        jcenter()
    
    dependencies 
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'com.google.gms:google-services:3.0.0'


    


allprojects 
    repositories 
        jcenter()

    


task clean(type: Delete) 
    delete rootProject.buildDir

【问题讨论】:

您将gms:google-services:3.0.0' 放在错误的位置...这不是应用程序依赖项。它在底部。而且您的支持库版本不匹配 【参考方案1】:

你好像跳过了这一步

apply plugin: 'com.google.gms.google-services' 行位于app/build.gradle file底部

https://developers.google.com/android/guides/google-services-plugin

旁注:您有 Glide 和 Picasso、双向 gif 可绘制库和两个成形的 imageview 库。每一对都做同样的事情。清理你的依赖项以减少你的应用程序大小和错误的机会

【讨论】:

错误:(149, 28) com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable 类型在源文件、导入的 jack 库或类路径中找不到 好吧,我认为问题不在于 Firebase。 android.gms.common 不是 Firebase 软件包 在集成 firebase 后出现此错误,我得到了 GoogleSignInOptions 的 classnoDeFound 异常 另外,建议修复到支持库的25.3.0 版本,而不是25.0.2 那个类来自play-services-auth dependencies【参考方案2】:

昨天我遇到了与 firebase 类似的问题,这对我有用: 只需将其添加到 gradle 文件并重建它:

android 
 ....
 dexOptions 
    // Prevent OutOfMemory with MultiDex during the build phase
    javaMaxHeapSize "4g"
  

【讨论】:

出现此错误:(149, 28) 在源文件、导入的 jack 库或类路径中找不到类型 com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable 库没有被正确下载,这是一个firebase框架问题,试试我的解决方案,如果可能的话再次清理和重建..

以上是关于Android Studio 构建问题 Google 登录和 Firebase 最新版本 10.2.4的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio遇到的问题及解决方案

Android Studio遇到的问题及解决方案

Android Studio遇到的问题及解决方案

Kapt 不适用于 Android Studio 3.0 中的 AutoValue

Android Studio 的 Hello-JNI [关闭]

Android Gradle 插件自定义 Gradle 任务 ⑯ ( 从任务容器 TaskContainer 中搜索 Gradle 任务 | 压缩 packageDebug 任务输出文件 )