Cordova-plugin-firebase: Kesalahan sejak pembaruan firebase pada 20 Maret. Apakah Anda akan menyetel versi firebase SDK?

Dibuat pada 22 Mar 2018  ·  21Komentar  ·  Sumber: arnesson/cordova-plugin-firebase

Sejak : https://firebase.google.com/support/releases 20 Maret.

Kesalahan

AndroidRuntime: java.lang.NoSuchMethodError: Tidak ada metode statis zza(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; di kelas Lcom/google/android/gms/common/internal/zzbq; atau kelas supernya (deklarasi 'com.google.android.gms.common.internal.zzbq'

Komentar yang paling membantu

Saya menyelesaikannya dengan memperbarui platforms/android/build.gradle
Sebelum

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

Setelah:

allprojects {
    repositories {
        //start here
        configurations.all {
            resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                def requested = details.requested
                if (requested.group == 'com.google.android.gms') {
                    details.useVersion '11.8.0'
                }
                if (requested.group == 'com.google.firebase') {
                    details.useVersion '11.8.0'
                }
            }
        }
        //end
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

Diuji di [email protected]

Semua 21 komentar

ini adalah masalah kritis.

Hai, saya memiliki kesalahan lain karena pembaruan firebase yang sama. Saat saya mengetik:

cordova build android

di konsol, saya mendapatkan output ini:

GAGAL BANGUNAN

Total waktu: 4,529 detik
FAILURE: Build gagal dengan pengecualian.

  • Apa yang salah:
    Eksekusi gagal untuk tugas ':processDebugResources'.
    > Kesalahan: lebih dari satu perpustakaan dengan nama paket 'com.google.android.gms.license' `

Saya telah mencari jawabannya melalui web tetapi solusi yang saya temukan ( solution1 , solution2 , solution3 ) tidak bekerja untuk saya .

Kesalahan tampaknya disebabkan oleh pembaruan Layanan Play . Saya tidak dapat membangun aplikasi Android saya sampai saya menghapus plugin ini.

Saya harap masalah kritis ini dapat diselesaikan untuk menginstal plugin lagi.

ada perbaikan sementara untuk ini, paksa layanan dan versi firebase ke 11.8.0.

bagaimana:
letakkan ini di dalamtag config.xml dengan konten:

<hook src="fixFirebasePlugin.js" type="before_build" />

buat file JS di root proyek Anda:

module.exports = function(context) {
    var fs = require('fs');
    var path = require('path');

    var rootdir = context.opts.projectRoot;

    var platformDir = 'platforms/android';
        //change the path to your external gradle file
    var srcFile = path.join(rootdir, 'src/android/build-extras.gradle');
    var destFile = path.join(rootdir, platformDir, 'build-extras.gradle');

    console.log("copying "+srcFile+" to "+destFile);
    fs.createReadStream(srcFile).pipe(fs.createWriteStream(destFile));
}

buat di dalam folder src sebuah fodler Android dan buat di dalamnya sebuah file bernama build-extras.gradle dengan konten:

configurations.all {
   resolutionStrategy {
       force "com.google.android.gms:play-services-ads:11.8.0"
       force "com.google.android.gms:play-services-base:11.8.0"
       force "com.google.android.gms:play-services-gcm:11.8.0"
       force "com.google.android.gms:play-services-analytics:11.8.0"
       force "com.google.android.gms:play-services-location:11.8.0"
       force "com.google.android.gms:play-services-basement:11.8.0"
       force "com.google.android.gms:play-services-tagmanager:11.8.0"
       force 'com.google.firebase:firebase-core:11.8.0'
       force 'com.google.firebase:firebase-crash:11.8.0'
       force 'com.google.firebase:firebase-auth:11.8.0'
       force 'com.google.firebase:firebase-common:11.8.0'
       force 'com.google.firebase:firebase-config:11.8.0'
       force 'com.google.firebase:firebase-messaging:11.8.0'
   }
}

hapus dan tambahkan kembali platform (diuji pada 6.3.0), lakukan android build cordova, dan sudah diperbaiki.

setelah itu, jalankan/build --prod, apa pun yang Anda inginkan.

@tryadelion , saya telah mencoba solusi Anda persis seperti yang Anda sebutkan, tetapi saya mendapatkan kesalahan yang sama di konsol :(

sudahkah Anda menghapus platform, dibaca sebagai [email protected] dan melakukan "~: cordova build Android", tanpa prod, tanpa run, tanpa ion? itulah yang melakukan trik untuk saya!

Ya, saya melakukan segalanya (config.xml, fixFirebasePlugin.js, build-extras.gradle, platform [email protected]), tetapi setiap menjalankan atau membangun perintah yang saya jalankan menghasilkan output yang sama:

firebase-build-failed

Proyek saya bukan proyek ionik, saya tidak tahu apakah ini penting untuk masalah ini.

apakah Anda mencoba "perbaikan terbaru" sebelumnya untuk ini? suka mengubah versi pada XML plugin? saya harus menghapus dan membacanya karena saya mengacaukan file itu. sejauh ini telah bekerja pada 3 proyek berbeda, semuanya ionik, tetapi sistem pengaitnya sama dengan yang ditenagai oleh cordova.

Sebelumnya, saya hanya mengubah /platforms/android/project.properties dan /platforms/android/build.gradle tetapi setelah itu saya menghapus dan menambahkan kembali plugin (pertama), dan platform [email protected]. (setelah).

Saya tidak tahu apa yang bisa menjadi alasan kegagalan, tetapi saya pikir proyek saya masih memiliki kedua versi: 12.0 dan 11.8.0 karena di konsol saya melihat ini:

firebase-build-failed-2

Saya tidak tahu di mana bisa ditentukan versi 12.0.0.

hapus node-modules, hapus platform/android, hapus setiap plugin yang menggunakan layanan di /plugins, NPM i, baca setiap plugin yang Anda hapus, tambahkan platform android, dan coba lagi. itulah yang akan saya lakukan.

Ok, saya akan mencoba menginstal ulang setiap komponen yang saya miliki. Terima kasih banyak atas bantuan Anda!!

@tryadelion Terima kasih telah berbagi. Saya akan melakukan fork cordova-plugin-firebase dan memaksa versi. Bagaimanapun, saya menerapkan solusi Anda.

Kami bekerja dengan [email protected] yang juga berfungsi.

Akhirnya saya memecahkan masalah memodifikasi file /platforms/Android/build.gradle dengan cara ini:

allprojects {

    repositories {
    // Temp fix for com.google.android.gms.license
            // Added from here
            configurations.all {
                resolutionStrategy {

                    // Put your gms packages here with 11.8.0 attached
                    force "com.google.android.gms:play-services-analytics:11.8.0"
                    force "com.google.android.gms:play-services-auth:11.8.0"
                    force "com.google.android.gms:play-services-gcm:11.8.0"
                    force "com.google.android.gms:play-services-location:11.8.0"
                }
            }
            // until here

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

(Solusi baca dari https://github.com/facebook/react-native/issues/18479)

Terima kasih lagi!

Untuk Ionic v1.1.0 dan cordova-plugin-firebase v0.1.25 kait ini menyelesaikan masalah saya:

//before_build/010_add_gradle_extras.js

#!/usr/bin/env node

var fs = require('fs');
var path = require('path');

var rootdir = process.argv[2];
var platformDir = 'platforms/android';

var srcfile = path.join(rootdir, 'build-extras.gradle');
var destfile = path.join(rootdir, platformDir, 'build-extras.gradle');
var destdir = path.dirname(destfile);

if (fs.existsSync(srcfile) && fs.existsSync(destdir)) {
  fs.createReadStream(srcfile).pipe(fs.createWriteStream(destfile));
  process.stdout.write('Hook: build-extras.gradle added');
} 
//build-extras.gradle

configurations.all {
   resolutionStrategy {
       force "com.google.android.gms:play-services-ads:11.8.0"
       force "com.google.android.gms:play-services-base:11.8.0"
       force "com.google.android.gms:play-services-gcm:11.8.0"
       force "com.google.android.gms:play-services-analytics:11.8.0"
       force "com.google.android.gms:play-services-location:11.8.0"
       force "com.google.android.gms:play-services-basement:11.8.0"
       force "com.google.android.gms:play-services-tagmanager:11.8.0"
       force 'com.google.firebase:firebase-core:11.8.0'
       force 'com.google.firebase:firebase-crash:11.8.0'
       force 'com.google.firebase:firebase-auth:11.8.0'
       force 'com.google.firebase:firebase-common:11.8.0'
       force 'com.google.firebase:firebase-config:11.8.0'
       force 'com.google.firebase:firebase-messaging:11.8.0'
   }
}

Menghapus dan menambahkan platform android baru juga merupakan faktor kunci.

@tryadelion ,

A problem occurred configuring root project 'android'.
> Could not resolve all dependencies for configuration ':_debugApkCopy'.
   > Could not find com.google.gms:google-services:11.8.0.
     Required by:
         project :

Saya melakukan apa yang dikatakan jotefer dan itu membuat build bekerja. Namun, konfigurasi jarak jauh berhenti berfungsi. Ada ide?

Menyelam ke dalam masalah bahwa fetch tidak berfungsi, saya menemukan bahwa itu karena pengecualian berikut yang dilemparkan saat memanggil fetch:

Disebabkan oleh: java.lang.ClassNotFoundException: Tidak menemukan kelas "android.support.v4.util.ArraySet" di jalur: DexPathList

Ada ide?

@remisture saya mengalami masalah itu ketika file gradle lain masih merujuk 12.X, coba buat pembersihan.

Saya menyelesaikannya dengan memperbarui platforms/android/build.gradle
Sebelum

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

Setelah:

allprojects {
    repositories {
        //start here
        configurations.all {
            resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                def requested = details.requested
                if (requested.group == 'com.google.android.gms') {
                    details.useVersion '11.8.0'
                }
                if (requested.group == 'com.google.firebase') {
                    details.useVersion '11.8.0'
                }
            }
        }
        //end
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

Diuji di [email protected]

Di bawah ini adalah seluruh build.gradle saya. Juga memiliki sedikit berguna di akhir untuk mengubah kompilasi SDK untuk semua proyek

buildscript {
    repositories {
        jcenter()
        google()
        mavenLocal()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        configurations.all {
            resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                def requested = details.requested
                if (requested.group == 'com.google.android.gms') {
                    details.useVersion '12.0.1'
                }
            }
        }
        mavenLocal()
        jcenter()
        maven {
            url "https://jitpack.io"
        }
        maven {
            url 'https://maven.google.com'
        }
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 26
                buildToolsVersion '26.0.2'
            }
        }
    }
}

ini tampaknya diperbaiki dengan menginstal cordova-Android-play-services-gradle-release

@ soumak77 yang berfungsi terima kasih

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

rlz picture rlz  ·  4Komentar

michaelreiser picture michaelreiser  ·  5Komentar

merbin2012 picture merbin2012  ·  4Komentar

dhavalsoni2001 picture dhavalsoni2001  ·  5Komentar

stephan-nordnes-eriksen picture stephan-nordnes-eriksen  ·  5Komentar