React Native执行yarn android报错Activity类不存在,已尝试多方案仍未解决求助
React Native 执行
yarn android 提示 Activity 类不存在的问题 执行yarn android后构建成功,但启动应用时出现如下错误:
BUILD SUCCESSFUL in 22s 473 actionable tasks: 26 executed, 447 up-to-date info Connecting to the development server... info Starting the app on "MV994PT495UCLB7H"... Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.app/.MainActivity } Error type 3 Error: Activity class {com.example.app/com.example.app.MainActivity} does not exist.
已尝试的排查步骤:
- 设备与电脑通过USB连接,且处于同一Wi-Fi网络
- 执行
./gradlew uninstallAll、删除android目录下的build文件夹、./gradlew clean - 执行
adb reverse tcp:8081 tcp:8081、adb uninstall . - 确认
MainActivity.kt中的包名与build.gradle里的applicationId一致 - 在物理设备和模拟器(含新建模拟器)上均测试,问题一致
- 重新克隆项目,队友环境可正常运行
- 重启VS Code和电脑
针对性解决方案
1. 检查AndroidManifest.xml的Activity声明
打开android/app/src/main/AndroidManifest.xml,确认:
- MainActivity的
android:name配置正确,比如是.MainActivity或完整路径com.example.app.MainActivity - 该Activity包含正确的启动意图过滤器:
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
- 根节点
manifest的package属性与build.gradle中的applicationId一致
2. 排查Product Flavor配置(若有)
如果项目用了多环境/多渠道配置,检查android/app/build.gradle中的productFlavors是否覆盖了applicationId。可以先查看所有构建变体:
./gradlew app:listBuildVariants
然后指定正确的变体运行:
yarn android --variant=debug # 替换为项目实际的debug变体,如devDebug
3. 彻底清理设备上的残留应用
之前的adb uninstall .是无效命令,必须指定完整包名。先检查设备上是否存在该应用:
adb shell pm list packages | grep com.example.app
如果存在,执行完整卸载:
adb uninstall com.example.app
4. 清理全局Gradle缓存
项目本地的build清理后,还可以清理全局Gradle缓存来解决潜在的缓存冲突:
# macOS/Linux rm -rf ~/.gradle/caches # Windows rd /s /q %USERPROFILE%\.gradle\caches
清理后重新执行yarn android
5. 核对React Native CLI版本
确认本地全局或项目依赖的React Native CLI版本与队友一致。查看当前版本:
react-native --version
如果版本不匹配,安装项目指定版本的CLI:
yarn add react-native-cli@<指定版本> --dev
6. 检查Android SDK环境
查看android/build.gradle中的compileSdkVersion、targetSdkVersion,确认本地Android SDK已安装对应版本(可通过Android Studio的SDK Manager检查),同时确保ANDROID_HOME或ANDROID_SDK_ROOT环境变量配置正确。
内容的提问来源于stack exchange,提问作者user28157837
相关产品推荐
相关产品推荐

