不要生成apk

时间:2017-03-07 09:52:26

标签: android firebase firebase-authentication firebaseui

请帮帮我。 无法创建apk。该应用程序在模拟器中工作。

也许你需要在gradle中做点什么?

的build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.example.shcherbuk96.example2firebase"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    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.firebaseui:firebase-ui:0.6.2'
    compile 'com.firebaseui:firebase-ui-auth:0.6.2'
    compile 'com.google.firebase:firebase-auth:10.2.0'
    compile 'com.google.firebase:firebase-database:10.2.0'
    testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

错误:

Error:java.lang.RuntimeException: com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/auth/api/signin/internal/zzf.class

Error:com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/auth/api/signin/internal/zzf.class

Error:java.util.zip.ZipException: duplicate entry: com/google/android/gms/auth/api/signin/internal/zzf.class

我改变了: enter image description here

2 个答案:

答案 0 :(得分:2)

  

错误:java.lang.RuntimeException:com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com / google / android / gms / auth / api / signin / internal / zzf.class

这意味着您要添加相同的类两次(使用不同的版本)。

这是因为您使用的是 FirebaseUI 每个版本的FirebaseUI都依赖于固定版本的firebase库。

检查the table

为方便起见,以下是一些例子:

FirebaseUI Version  Firebase/Play Services Version
1.2.0               10.2.0
1.1.1               10.0.0 or 10.0.1
1.0.1               10.0.0 or 10.0.1
1.0.0               9.8.0
0.6.2               9.8.0
0.6.1               9.6.1
0.6.0               9.6.0

然后你必须更改你的依赖项:

    compile 'com.firebaseui:firebase-ui:1.2.0'
    compile 'com.firebaseui:firebase-ui-auth:1.2.0'
    compile 'com.google.firebase:firebase-auth:10.2.0'

此外,如果您要将项目升级到版本1.x.x,则在将项目与Gradle同步时可能会遇到错误Failed to resolve: com.twitter.sdk.android:twitter:2.x.x
版本1.0.0添加了新的必需配置步骤。

要解决此问题,您必须将Fabric存储库添加到存储库:

repositories {
    // ...
    jcenter()
    maven { url 'https://maven.fabric.io/public' }
}

More info here.

答案 1 :(得分:0)

问题出在gradle文件中,而不是显示。

所有firebase和支持库应该是相同的版本。检查并将它们设置为保存版本。

您应该更新您的firebase依赖项:

compile 'com.firebaseui:firebase-ui:1.2.0'
compile 'com.firebaseui:firebase-ui-auth:1.2.0'

如果您尚未添加以下内容,请添加以下内容:

allprojects {
   repositories {
       maven { url 'https://maven.fabric.io/public' }
   }
}

more here

P.S:尝试不在包名中使用example