React-native-onesignal: Could not find firebase-iid.aar...

Created on 11 Jun 2018  ·  5Comments  ·  Source: OneSignal/react-native-onesignal

Description:
Getting error in debug release

Environment
"react-native-onesignal": "^3.2.4"
yarn add
RN 0.55.4

Steps to Reproduce Issue:

  1. Install the OneSignal SDK using yarn into your project
  2. run react-native run-android

Output:

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Could not find firebase-iid.aar (com.google.firebase:firebase-iid:12.0.1).
  Searched in the following locations:
      https://jcenter.bintray.com/com/google/firebase/firebase-iid/12.0.1/firebase-iid-12.0.1.aar
> Could not find firebase-common.aar (com.google.firebase:firebase-common:12.0.1).
  Searched in the following locations:
      https://jcenter.bintray.com/com/google/firebase/firebase-common/12.0.1/firebase-common-12.0.1.aar
> Could not find play-services-ads.aar (com.google.android.gms:play-services-ads:12.0.1).
  Searched in the following locations:
      https://jcenter.bintray.com/com/google/android/gms/play-services-ads/12.0.1/play-services-ads-12.0.1.aar
> Could not find firebase-auth-license.aar (com.google.firebase:firebase-auth-license:12.0.1).
  Searched in the following locations:
      https://jcenter.bintray.com/com/google/firebase/firebase-auth-license/12.0.1/firebase-auth-license-12.0.1.aar

android/build.gradle

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

buildscript {
    repositories {
        jcenter()
        google()
    }
    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 {
        mavenLocal()
        jcenter()
        google()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}

app/build.gradle:

buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/' } // Gradle Plugin Portal 
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.10.0, 0.99.99]'
    }
}

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

apply plugin: "com.android.application"

import com.android.build.OutputFile

project.ext.react = [
    entryFile: "index.js"
]

apply from: "../../node_modules/react-native/react.gradle"

def enableSeparateBuildPerCPUArchitecture = false

/**
 * Run Proguard to shrink the Java bytecode in release builds.
 */
def enableProguardInReleaseBuilds = false

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "com.realm"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86"
        }
    }
    buildTypes {
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        }
    }
    // applicationVariants are e.g. debug, release
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            // For each separate APK per architecture, set a unique version code as described here:
            // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
            def versionCodes = ["armeabi-v7a":1, "x86":2]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {  // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }
        }
    }
}

dependencies {
    compile project(':react-native-onesignal')
    implementation "com.google.firebase:firebase-core:12.0.1"
    implementation "com.google.android.gms:play-services-base:12.0.1"

    // RNFirebase optional dependencies
    implementation "com.google.firebase:firebase-messaging:12.0.1"
    implementation "com.google.firebase:firebase-iid:12.0.1"

    compile project(':realm')
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:26.0.2"
    compile "com.facebook.react:react-native:+"  // From node_modules
}

// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.compile
    into 'libs'
}

Can someone help me with these issues?

Most helpful comment

@rodrigofbm In your android/build.gradle in your repositories section, try moving google() ABOVE jcenter().

It's bizarre, but we've seen this fix this particular issue.

All 5 comments

@rodrigofbm In your android/build.gradle in your repositories section, try moving google() ABOVE jcenter().

It's bizarre, but we've seen this fix this particular issue.

@Nightsd01 lol it works! Thanks so much!

@Nightsd01 Thanks a lot!

Just to clarify for others who may be confused like me:

You need to swap google() and jcenter() in the allprojects.repositories section, NOT the buildscript.repositories section.

FYI cordova & android developers:

This same problem started to occur on our build yesterday and we managed to fix the build using this same trick. Thanks!

To fix the problem, move jcenter() below the allprojects.repositories.maven.

Was this page helpful?
0 / 5 - 0 ratings