Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

React-Native: Error type 3: Activity class does not exist

I'm aware there's a plethora of questions/answers regarding this issue. However, I have spent the past few days trying a number of solutions I've found on SO and none have worked thus far.

My error:

BUILD SUCCESSFUL in 52s
372 actionable tasks: 352 executed, 20 up-to-date
info Running C:\Users\User\AppData\Local\Android\Sdk/platform-tools/adb -s emulator-5554 reverse tcp:8081 tcp:8081
info Starting the app on emulator-5554 (C:\Users\User\AppData\Local\Android\Sdk/platform-tools/adb -s emulator-5554 shell am start -n mypackage/mypackage.MainActivity)...
Starting: Intent { cmp=mypackage/.MainActivity }
Error type 3
Error: Activity class {mypackage/mypackage.MainActivity} does not exist.

Here is a list of all the things I've attempted to do based on other SO posts:

Attempts

  1. Running adb kill-server, adb start-server, then react-native run-android

  2. Running adb reverse tcp:8081 tcp:8081, then react-native run-android (a senior dev I used to work with told me the issue might be related to this a long time ago, but I cannot get in touch with him)

  3. Uninstalling the App from the Emulator, as well as my physical device

  4. Build -> Clean Project

  5. Files -> Invalidate Cache / Restart

  6. Files -> Sync Project with Gradle Files

  7. Build -> Rebuild Project

  8. Deleted gradle cache files in /project/android/.gradle/5.1.1

  9. AndroidManifest.xml -> <activity android:name=".MainActivity" to <activity android:name="packagename.MainActivity"

  10. android/app/build.gradle to view buildTypes

debug {
  applicationIdSuffix ".debug"
}
stagingRelease {
  applicationIdSuffix ".staging"
}
release {

}

Ran react-native run-android --variant=[debug] --appIdSuffix '[.debug]'

&&

Ran react-native run-android --variant=[stagingRelease] --appIdSuffix '[.staging]'

(these came with different errors)

  1. Make sure android/app/build.gradle
defaultConfig {
        applicationId "WHATEVER_THIS_IS" 
}

needs to match android/app/src/main/java/com/app_name/MainActivity.java line one:

package WHATEVER_THIS_IS;

needs to match android/app/src/main/java/com/app_name/MainApplication.java line one:

package WHATEVER_THIS_IS;

needs to match android/app/src/main/AndroidManifest.xml line one:

package="WHATEVER_THIS_IS">
  1. Went to android/app/build.gradle and changed:
splits {
    abi {
        reset()
        enable enableSeparateBuildPerCPUArchitecture
        universalApk false  // If true, also generate a universal APK
        include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
    }
}

to

splits {
    abi {
        reset()
        enable true
        universalApk true  // If true, also generate a universal APK
        include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
    }
}
  1. Went to C:/Users/User/.gradle to delete the cache. Was unable to delete everything, as I kept getting alerts that many of the files/folders inside are currently "open in another program" (untrue as far as I can tell)

Nothing worked.

Posts I followed for solutions

Error type 3 Error: Activity class {} does not exist

https://github.com/facebook/react-native/issues/8653

"react-native run-android" - BUILD is SUCCESSFUL but get error type 3 Error: Activity class MainActivity does not exist

Error type 3. Activity class {com.awesome_project/ com.awesome_project.MainActivity} does not exist in react native (Android device)

like image 577
Cin88 Avatar asked Dec 01 '25 04:12

Cin88


2 Answers

Even I was facing the same issue, and finally I found a solution.

  1. Delete app/build directory.
  2. cd into android and run ./gradlew uninstallAll (ie, your device should be connected to your system). It started working after following the above steps.
like image 92
LukeRebel Avatar answered Dec 03 '25 22:12

LukeRebel


I Got The Error

BUILD SUCCESSFUL in 3m 10s 215 actionable tasks: 215 executed
info Connecting to the development server...
info Starting the app on "EMAY8PU4VGAEN779"...
Starting: Intent { cmp=com.modernlaundaryforapk/.MainActivity }
Error type 3
Error: Activity class
{com.modernlaundaryforapk/com.modernlaundaryforapk.MainActivity} does
not exist.

and here is the solution which worked for me

Open the android/app/build.gradle file in your project.

Locate the defaultConfig section within the file. Inside this section, you will find the applicationId

defaultConfig {
    applicationId "com.myproject"
}

Now, open android/app/src/main/java/com/app_name/MainActivity.java and check the first line

package com.myproject;

Make sure that com.myproject matches the applicationId value.

Similarly, verify that the package name in AndroidManifest.xml matches the applicationId value. Open the file located at android/app/src/main/AndroidManifest.xml and check the first line:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myproject">

Ensure that the package name com.myproject matches the applicationId value.

After verifying that all the package names are consistent, you can now attempt to run your React Native app using the following command:

npx react-native run-android

If the issue persists, you can try uninstalling the app from your device or emulator. Run the following command:

adb uninstall com.myproject

replace com.myproject with your actual applicationId value:

Then, rerun the command:

npx react-native run-android

This should resolve the issue, and your app should run correctly.

like image 36
Ikram Bagban Avatar answered Dec 03 '25 22:12

Ikram Bagban



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!