我使用的是react-native-codepush@1.16.1-betapart of the setup,包括指定ApplicationsUFFix.

我以前在一个应用程序上设置过这个,没有任何问题(React Native 0.37).我在这个项目中已经两次遇到这个错误(React Native 0.40).我第一次重建我的整个项目时,它就消失了.它再次发生,没有明显的原因,所以我在一个新目录中克隆了我项目的最后一个稳定版本,并得到了相同的错误.

使用react-native run-android时会发生错误.错误发生在成功生成之后:

Starting: Intent { cmp=com.packagename/.MainActivity }
Error type 3
Error: Activity class {com.packagename/com.packagename.MainActivity} does not exist.

如果我从app/build.gradle中删除applicationIdSuffix ".debug",应用程序在我的手机上毫无问题地启动,错误就会消失.

我的手机是带有安卓7.0的Nexus 6P.我只在物理设备上试过,因为我没有设置模拟器.

我已经对我的其他项目进行了三次判断,我不认为这是配置问题.

推荐答案

从上面的链接来看,github上已经讨论了很长一段时间(一年多),而且似乎有一些补丁正在开发中,所以我下面的补丁可能有效,也可能无效,这取决于您使用的react-native的版本.

以下是我(暂时)解决这个问题的方法.问题是react-native-cli试图用错误的参数调用adb shell am start:

com.packagename/com.packagename.MainActivity

当它应该叫什么的时候

com.packagename.debug/com.packagename.MainActivity

因此,在修复react-native版本之前,您可以使用此命令(如this code-push PR中所建议的:

cd android && ./gradlew installDebug && adb -s <DEVICE_ID> shell am start -n com.packageName.debug/com.packageName.MainActivity

这并不是一个完美的解决方案,但github上有一个补丁,它基本上做了相同的事情(与几个问题和pull请求herehere有关).

React-native相关问答推荐

在原生react 中更改图像源URI时闪烁

使用react native 杀死应用程序后蓝牙仍处于活动状态

ReactNative:在所有组件和操作之间共享 sqlite 实例的最佳方法

如何在react-native 中设置视图的自动高度

React Native - 为什么我们对 Image 组件使用 tintColor 属性?

错误发生意外错误:https://registry.yarnpkg.com/react-native-template-react-native-template-typescript:未找到

如果没有启用远程调试器,React Native 代码将无法工作

Visual Studio 代码错误:-Failed to start flow Error: Wrong version of Flow. The config specifies version ^0.92.0 but this is version 0.95.1

由于依赖关系,在 run-android 上构建失败

在 Windows 上进行本机调试

FlatList contentContainerStyle -> justifyContent: 'center' 导致滚动问题

由于端口 8081 sunproxyadmin,无法打包 react native

React native Touch 事件正在通过绝对视图

如何在 React Native 中获取电话号码?

键盘上方的 React Native 完成按钮

无法解析模块react-navigation

在不使用 3rd 方库的情况下,在react-native中显示主屏幕之前显示启动画面

ExpoKit 和 React Native 元素的区别

使用 React Native 运行 Firebase 3.0 时出错

React Navigation 切换背景 colored颜色 和样式 StackNavigator