question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Cant build my react-native project on android

See original GitHub issue

since yesterday im getting this error when im trying to run my project:

com.android.build.api.transform.TransformException: Error while generating the main dex list.

I was reading some posts about the issue and I tried to add those lines:

android.useAndroidX=true
android.enableJetifier=true

because when I used stack trace I was getting this error:

Program type already present: androidx.versionedparcelable.CustomVersionedParcelable react native

I added this lines to my local.propeties file but when I did that I have seen that I need to change all my node-module files to use androidx

In addition I was trying to update the package react-native-device-info to the newest version 2.1.2 but still the same result…

React Native version:

react-native-cli: 2.0.1
react-native: 0.50.4

I’m working with visual code because my project is for IOS and Android, so the option to migrate to AndroidX is not relevant for me…

I’m attaching my files:

app/build.gradle:

apply plugin: "com.android.application"

 buildscript {
   repositories {
     maven { url 'https://maven.fabric.io/public' }
   }
   dependencies {
     // The Fabric Gradle plugin uses an open ended version to react
     // quickly to Android tooling updates
     classpath 'io.fabric.tools:gradle:1.+'
   }
 }
 apply plugin: 'io.fabric'
 repositories {
   maven { url 'https://maven.fabric.io/public' }
 }
import com.android.build.OutputFile

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

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


def enableSeparateBuildPerCPUArchitecture = false

def enableProguardInReleaseBuilds = false

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"
    dexOptions {
            javaMaxHeapSize "4g"
        }
    defaultConfig {
        applicationId "com.x"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 14
        versionName "2.3.0"
        multiDexEnabled true
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.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-orientation')
    compile project(':react-native-device-information')
    compile project(':react-native-ble-manager')
    compile project(':react-native-fabric')
    compile project(':react-native-vector-icons')
    compile project(':react-native-spinkit')
    compile project(':react-native-push-notification')
    compile project(':react-native-picker')
    compile project(':react-native-linear-gradient')
    compile project(':react-native-image-crop-picker')
    compile project(':react-native-firebase')
    compile project(':react-native-fcm')
    compile project(':react-native-config')
    implementation project(':react-native-picker')
    implementation project(':react-native-device-info')
    implementation project(':react-native-fcm')
    implementation project(':react-native-firebase')
    implementation project(':react-native-svg')
    implementation project(':react-native-vector-icons')
    implementation project(':react-native-spinkit')
    implementation project(':react-native-push-notification')
    implementation project(':react-native-linear-gradient')
    implementation project(':react-native-image-crop-picker')
    implementation project(':react-native-config')
    implementation project(':react-native-picker-module')
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.google.android.gms:play-services-gcm:15.0.1"
    implementation "com.android.support:appcompat-v7:28.0.0-rc02"
    implementation "com.facebook.react:react-native:+"  // From node_modules
    implementation 'com.google.firebase:firebase-core:16.0.1'
    implementation 'com.google.firebase:firebase-messaging:17.0.0' //17.3.1
    implementation 'com.android.support:multidex:1.0.3'
    //implementation 'com.google.firebase:firebase-notifications'
    compile('com.crashlytics.sdk.android:crashlytics:2.9.2@aar') {
         transitive = true;
    }

}

// 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'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

android/build.gradle

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

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.1.0'

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

//com.android.ddmlib.DdmPreferences.setTimeOut(50000)

allprojects {
    repositories {
				// Add jitpack repository (added by react-native-spinkit)
				maven { url "https://jitpack.io" }
        mavenLocal()
        google()
        jcenter()
        // 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"
        }

    }
}

ext {
  compileSdkVersion = 28
  targetSdkVersion = 28
  buildToolsVersion = "28.0.3"
  supportLibVersion = "28.0.0-rc02"
  googlePlayServicesVersion = "15.0.1"
  oreoEXPERIMENTAL = "yes"
}

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


my application for androidManifest.xml:

  <application
      android:name=".MainApplication"
      android:allowBackup="true"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:theme="@style/AppTheme"
      tools:replace="android:appComponentFactory"
      android:appComponentFactory="whateverString"
>

Is there anyway to fix this issue for now? I can’t run my project suddenly

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:1
  • Comments:12 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
lukewlmscommented, Jun 20, 2019

Same fix for me as for @tal987:

i solved mine with these dependencies

implementation project(':react-native-firebase')
implementation(project(':react-native-push-notification')) {
    exclude group: 'com.google.android.gms'
}
implementation ("com.google.android.gms:play-services-gcm:16.1.0") {
    force = true
}
implementation ("com.google.android.gms:play-services-base:16.1.0") {
    force = true
}
implementation ("com.google.firebase:firebase-core:16.0.9") {
    force = true
}
implementation ("com.google.firebase:firebase-messaging:18.0.0") {
    force = true
}
0reactions
stale[bot]commented, Oct 3, 2019

Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please feel free to create a new issue with up-to-date information.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Can't build new react-native project on android #26616 - GitHub
Hi! I created new react native project and I can't build on android. React Native version: System: OS: macOS 10.15
Read more >
Can't build React-Native app for Android - Stack Overflow
I just solved this issue. Sometimes when you install RN packages with npm , or more specifically uninstall them, code is leftover in...
Read more >
Troubleshooting - React Native
If you added React Native manually to your project, make sure you have included all the relevant dependencies that you are using, ...
Read more >
Fixed: React Native new Android project Build Issue - YouTube
Fixed: React Native new Android project Build IssueIn this video, I will take you through a Step by step guide to fix Android...
Read more >
Addressing common errors in React Native - LogRocket Blog
Go into {your-project-folder}/android/app/src/main/ folder and check if an assets folder exists within it. If the assets folder isn't already ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found