Cordova-plugin-firebase: 20 рдорд╛рд░реНрдЪ рдХреЛ рдлрд╛рдпрд░рдмреЗрд╕ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж рд╕реЗ рддреНрд░реБрдЯрд┐ред рдХреНрдпрд╛ рдЖрдк рдлрд╛рдпрд░рдмреЗрд╕ рдПрд╕рдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рдорд╛рд░реНрдЪ 2018  ┬╖  21рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: arnesson/cordova-plugin-firebase

рдЪреВрдВрдХрд┐: https://firebase.google.com/support/releases 20 рдорд╛рд░реНрдЪред

рддреНрд░реБрдЯрд┐

AndroidRuntime: java.lang.NoSuchMethodError: рдХреЛрдИ рд╕реНрдерд┐рд░ рд╡рд┐рдзрд┐ рдирд╣реАрдВ za(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; Lcom/google/android/gms/common/internal/zzbq рдХрдХреНрд╖рд╛ рдореЗрдВ; рдпрд╛ рдЗрд╕рдХреЗ рд╕реБрдкрд░ рдХреНрд▓рд╛рд╕реЗрд╕ ('com.google.android.gms.common.internal.zzbq' рдХреА рдШреЛрд╖рдгрд╛)

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВрдиреЗ platforms/android/build.gradle рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛
рдкрд╣рд▓реЗ

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

рдмрд╛рдж рдореЗрдВ:

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"
        }
    }
}

рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ [email protected]

рд╕рднреА 21 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛ рд╣реИред

рдирдорд╕реНрддреЗ, рдореИрдВ рдПрдХ рд╣реА firebase рдЕрджреНрдпрддрди рдХреЗ рдХрд╛рд░рдг рдЕрдиреНрдп рддреНрд░реБрдЯрд┐ рд╣реИред рдЬрдм рдореИрдВ рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реВрдВ:

cordova build android

рдХрдВрд╕реЛрд▓ рдореЗрдВ, рдореБрдЭреЗ рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рддрд╛ рд╣реИ:

рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдлрд▓

рдХреБрд▓ рд╕рдордп: 4.529 рд╕реЗрдХрдВрдб
рд╡рд┐рдлрд▓рддрд╛: рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдлрд▓ рд░рд╣рд╛ред

  • рдХреНрдпрд╛ рдЧрд▓рдд рд╣реБрдЖ:
    рдХрд╛рд░реНрдп ': processDebugResources' рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рд╡рд┐рдлрд▓ рд░рд╣рд╛ред
    > рддреНрд░реБрдЯрд┐: рдкреИрдХреЗрдЬ рдирд╛рдо 'com.google.android.gms.license' рдХреЗ рд╕рд╛рде рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп `

рдореИрдВ рд╡реЗрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрддреНрддрд░ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЬреЛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓реЗ ( рд╕рдорд╛рдзрд╛рди 1 , рд╕рдорд╛рдзрд╛рди 2 , рд╕рдорд╛рдзрд╛рди 3 ) рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ ред

рддреНрд░реБрдЯрд┐ Play Services рдЕрджреНрдпрддрди рдХреЗ рдХрд╛рд░рдг рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред рдЬрдм рддрдХ рдореИрдВ рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдХреЛ рд╣рдЯрд╛ рдирд╣реАрдВ рджреЗрддрд╛, рдореИрдВ рдЕрдкрдирд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдРрдк рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкреНрд▓рдЧрдЗрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕реБрдзрд╛рд░ рд╣реИ, рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдлрд╛рдпрд░рдмреЗрд╕ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ 11.8.0 рдкрд░ рдмрд╛рдзреНрдп рдХрд░реЗрдВред

рдХреИрд╕реЗ:
рдЗрд╕реЗ рдЕрдВрджрд░ рд░рдЦреЛрд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде config.xml рдХрд╛ рдЯреИрдЧ:

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

рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдкрд░ JS рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВ:

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));
}

src рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдПрдВрдбреНрд░реЙрдЗрдб рдлреЛрдбрд▓рд░ рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕рдХреЗ рдЕрдВрджрд░ рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдЬрд┐рд╕реЗ рдмрд┐рд▓реНрдб-рдПрдХреНрд╕реНрдЯреНрд░рд╛.рдЧреНрд░реЗрдбрд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:

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'
   }
}

рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝реЗрдВ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (6.3.0 рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛), рдПрдХ рдХреЙрд░реНрдбреЛрд╡рд╛ рдмрд┐рд▓реНрдб рдПрдВрдбреНрд░реЙрдЗрдб рдХрд░реЗрдВ, рдФрд░ рдпрд╣ рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдХ рд░рди/рдмрд┐рд▓реНрдб --рдкреНрд░реЛрдб, рдЬреЛ рднреА рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред

@tryadelion , рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдмрддрд╛рдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рд╣реИ :(

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ [email protected] рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝рд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ "~: рдХреЙрд░реНрдбреЛрд╡рд╛ рдмрд┐рд▓реНрдб рдПрдВрдбреНрд░реЙрдЗрдб" рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рд╣реИ, рдХреЛрдИ рдЙрддреНрдкрд╛рдж рдирд╣реАрдВ, рдХреЛрдИ рд░рди рдирд╣реАрдВ, рдХреЛрдИ рдЖрдпрдирд┐рдХ рдирд╣реАрдВ? рдпрд╣реА рдореЗрд░реЗ рд▓рд┐рдП рдЪрд╛рд▓ рд╣реИ!

рд╣рд╛рдВ, рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ рдХрд┐рдпрд╛ (config.xml, fixFirebasePlugin.js, build-extras.gradle, platform [email protected]), рд▓реЗрдХрд┐рди рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдкреНрд░рддреНрдпреЗрдХ рд░рди рдпрд╛ рдмрд┐рд▓реНрдб рдХрдорд╛рдВрдб рдПрдХ рд╣реА рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ:

firebase-build-failed

рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдХ рдЖрдпрдирд┐рдХ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреВрд░реНрд╡ "рд╣реЙрдЯрдлрд┐рдХреНрд╕" рдЖрдЬрд╝рдорд╛рдпрд╛ рдерд╛? рдкреНрд▓рдЧрдЗрди рдХреЗ рдПрдХреНрд╕рдПрдордПрд▓ рдкрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╣рд╛рде рд╕реЗ рдмрджрд▓рдирд╛ рдкрд╕рдВрдж рд╣реИ? рдореБрдЭреЗ рдЗрд╕реЗ рд╣рдЯрд╛рдирд╛ рдФрд░ рдкрдврд╝рдирд╛ рдкрдбрд╝рд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд┐рдпрд╛ рдерд╛ред рдЗрд╕рдиреЗ рдЕрдм рддрдХ 3 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рднреА рдЖрдпрдирд┐рдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣реБрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд░реНрдбреЛрд╡рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХреЗ рд╕рдорд╛рди рд╣реИред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ /platforms/android/project.properties рдФрд░ /platforms/android/build.gradle рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдкреНрд▓рдЧрдЗрди (рдкрд╣рд▓реЗ), рдФрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо [email protected] рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реИ

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрднреА рднреА рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ: 12.0 рдФрд░ 11.8.0 рдХреНрдпреЛрдВрдХрд┐ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ:

firebase-build-failed-2

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ 12.0.0 рд╕рдВрд╕реНрдХрд░рдг рдХрд╣рд╛рдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдиреЛрдб-рдореЙрдбреНрдпреВрд▓ рд╣рдЯрд╛рдПрдВ, рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо/рдПрдВрдбреНрд░реЙрдЗрдб рд╣рдЯрд╛рдПрдВ,/рдкреНрд▓рдЧрдЗрдиреНрд╕ рдореЗрдВ рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдПрдирдкреАрдПрдо i, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣рдЯрд╛рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓рдЧрдЗрди рдХреЛ рдкрдврд╝реЗрдВ, рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдПрдВрдбреНрд░реЙрдЗрдб рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдореИрдВ рдпрд╣реА рдХрд░реВрдБрдЧрд╛ред

рдареАрдХ рд╣реИ, рдореИрдВ рдЕрдкрдиреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд╣рд░ рдШрдЯрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рдорджрдж рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!!

@tryadelion рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдХреЙрд░реНрдбреЛрд╡рд╛-рдкреНрд▓рдЧрдЗрди-рдлрд╛рдпрд░рдмреЗрд╕ рдФрд░ рдмрд▓ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдлреЛрд░реНрдХ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛ред рд╡реИрд╕реЗ рднреА, рдореИрдВрдиреЗ рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред

рд╣рдо [email protected] рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рднреА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЕрдВрдд рдореЗрдВ рдореИрдВ рдлрд╝рд╛рдЗрд▓ /platforms/android/build.gradle рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реВрдВ:

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"
        }
    }
}

(рд╕рдорд╛рдзрд╛рди https://github.com/facebook/react-native/issues/18479 рд╕реЗ рдкрдврд╝реЗрдВ)

рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!

Ionic v1.1.0 рдФрд░ cordova-plugin-firebase v0.1.25 рдЗрд╕ рд╣реБрдХ рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░ рджреА:

//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'
   }
}

рдирдП рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рд╣рдЯрд╛рдирд╛ рдФрд░ рдЬреЛрдбрд╝рдирд╛ рднреА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдХ рдерд╛ред

@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 :

рдореИрдВрдиреЗ рд╡рд╣реА рдХрд┐рдпрд╛ рдЬреЛ рдЬреЛрдЯреЗрдлрд░ рдиреЗ рдХрд╣рд╛ рдФрд░ рдпрд╣ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рджреВрд░рд╕реНрде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдиреЗ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдирд╛ рдХрд┐ рд▓рд╛рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдкрд╡рд╛рдж рдХреЗ рдХрд╛рд░рдг рд╣реИ рдЬрд┐рд╕реЗ рдлрд╝реЗрдЪ рдХрд░рддреЗ рд╕рдордп рдлреЗрдВрдХрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ:

рдЗрд╕рдХреЗ рдХрд╛рд░рдг: java.lang.ClassNotFoundException: рдкрде рдкрд░ "android.support.v4.util.ArraySet" рд╡рд░реНрдЧ рдирд╣реАрдВ рдорд┐рд▓рд╛: DexPathList

рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

@remisture рдореБрдЭреЗ рд╡рд╣ рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реБрдИ рдЬрдм рдПрдХ рдФрд░ рдЧреНрд░реЗрдбрд▓ рдлрд╝рд╛рдЗрд▓ рдЕрднреА рднреА 12.X рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд░рд╣реА рдереА, рд╕рдлрд╛рдИ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдореИрдВрдиреЗ platforms/android/build.gradle рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛
рдкрд╣рд▓реЗ

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

рдмрд╛рдж рдореЗрдВ:

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"
        }
    }
}

рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ [email protected]

рдиреАрдЪреЗ рдореЗрд░рд╛ рдкреВрд░рд╛ build.gradle рд╣реИред рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди рдПрд╕рдбреАрдХреЗ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧреА рдмрд┐рдЯ рднреА рд╣реИ

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'
            }
        }
    }
}

рдпрд╣ рдХреЙрд░реНрдбреЛрд╡рд╛-рдПрдВрдбреНрд░реЙрдЗрдб-рдкреНрд▓реЗ-рд╕рд░реНрд╡рд┐рд╕реЗрдЬ-рдЧреНрд░реЗрдбрд▓-рд░рд┐рд▓реАрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ

@ soumak77 рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдзрдиреНрдпрд╡рд╛рдж

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

matthitachi picture matthitachi  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

stephan-nordnes-eriksen picture stephan-nordnes-eriksen  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dmeij picture dmeij  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

arunkatariaoodles picture arunkatariaoodles  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

JonSmart picture JonSmart  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ