react-native: Error: Activity class ... does not exist

Is this a bug report?

Yes

Have you read the Bugs section of the Contributing to React Native Guide?

Yes

Environment

  1. react-native -v: 0.45 & 0.46.1
  2. node -v: v6.9.1
  3. npm -v: 3.10.8
  4. yarn --version (if you use Yarn): 0.17.6

Then, specify:

  1. Target Platform (e.g. iOS, Android): Android
  2. Development Operating System (e.g. macOS Sierra, Windows 10): macOS Sierra

Steps to Reproduce

  • Create a new react-native project using react-native init ExampleProject
  • Add auth0 with yarn add react-native-auth0 and link it react-native link react-native-auth0
  • And configure the Android project: https://github.com/auth0/react-native-auth0#configuration
  • Add Redux, React Navigation and a few other JS libraries.

Expected Behavior

App should run without any kind of errors.

Actual Behavior

When I want to run the app with react-native run-android after writing some code and adding logic without touching the native Java code and with a successful build, I get this error:

BUILD SUCCESSFUL

Total time: 10.072 secs
Running adb -s 0259749fb8c21037 reverse tcp:8081 tcp:8081
Starting the app on 0259749fb8c21037 (adb -s 0259749fb8c21037 shell am start -n com.woodyapplication/com.woodyapplication.MainActivity)...
Starting: Intent { cmp=com.woodyapplication/.MainActivity }
Error type 3
Error: Activity class {com.woodyapplication/com.woodyapplication.MainActivity} does not exist.

I managed to fix this with the following hacks:

  • creating a new project and copy the JS code over (which is not a solution)
  • replace the package name com.woodyapplication with com.woody.application (or something else). This fixes it for a few runs but then the error message appears again.

I’ve tested this with RN 0.45 and RN 0.46.1 the bug appears on both versions

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 17 (1 by maintainers)

Most upvoted comments

@theobouwman Check whether the following values are same,

  • package (usually line 2) in /android/app/src/main/AndroidManifest.xml

  • applicationId (usually line 90) in defaultConfig section of /android/app/build.gradle

  • Line 1 of /android/app/src/main/java/com/paysack/MainApplication.java

  • Line 1 of /android/app/src/main/java/com/paysack/MainActivity.java

This helped me. You may have deleted/uninstalled your app, but when you check in your settings/apps, you can see that it’s not totally uninstalled.

Go to Settings. Go to Apps. Select your app. (here, you can verify that your app is not uninstalled properly). Open the overflow menu on the top right and select Uninstall for all users. Done. Try to install then launch your app again.

I had the same issues and it turned out that the cause was a previously installed app with the same name that wasn’t properly uninstalled.

https://medium.com/@thehenrytsai/react-native-troubleshooting-history-c876adda2d67

@theobouwman try adding the following to android/settings.gradle

include ':app'

Mine was missing that line because I was messing around. I assume that means that gradle skips compiling the actual app and just compiles 3rd party stuff eg

rootProject.name = 'AppName'

include ':react-native-vector-icons'
project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android')
include ':react-native-navigation'
project(':react-native-navigation').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-navigation/android/app')
include ':app'

I got the same error when adding mutiple build variants to app/build.gradle with different applicationIdSuffix’s. According to this unmerged PR, it seems to be a well known RN problem 😦

I had the same issues and none of the above fixes worked for me. Here’s what did:

  • Check your android files (Settings.gradle, app/build.gradle, and MainApplication.java) for any duplications. I was playing around with react-native link and a particular package appeared twice and that was messing up my build.

NOTE: The app crashed on opening it. The error in the terminal still persists but the app runs on the device (emulator & physical device)

@jenskuhrjorgensen Thanks that’s what caused this error for me.

I was using CodePush and had several buildTypes (releaseStaging) defined in android/app/build.gradle.

After restoring it to just debug and release, it works again

@thevolcanomanishere saved my life! I’ve removed that line (include ':app') by accident, when removing some duplicated entries of plugins.

@hramos the Auth0 library requires the MainActivity to have the launchMode as singleTask. Could that be the cause of this bug?