错误types3.活动类{com.awesome_project / com.awesome_project.MainActivity}在react native(Android设备)中不存在

我使用以下命令创建了项目。

react-native init Awesome_Project 

我使用以下命令启动了打包器。

 react-native start 

我用USB驱动器连接了我的Android手机。

我打开了另一个命令提示符并运行以下adb命令以确保只连接了一个设备。

 adb devices 

我已使用以下命令启动了该应用程序。

 react-native run-android 

我遇到了以下错误。

 open: Permission denied open: Permission denied Starting: Intent { com.awesome_project/.MainActivity } Error type 3 Error: Activity class {com.awesome_project/ com.awesome_project.MainActivity} does not exist. 

提前致谢。

Related of "错误types3.活动类{com.awesome_project / com.awesome_project.MainActivity}在react native(Android设备)中不存在"

确保android>app>build.gradle

 defaultConfig { applicationId "WHATEVER_THIS_IS" } 

需要匹配android>app>src>main>java>com>app_name>MainActivity.java行:

 package WHATEVER_THIS_IS; 

需要匹配android>app>src>main>java>com>app_name>MainApplication.java行:

 package WHATEVER_THIS_IS; 

需要匹配android>app>src>AndroidManifest.xml

 package="WHATEVER_THIS_IS"> 

尝试运行adb命令在你的项目中从android dir安装apk(应该提供更多输出): adb install app/build/outputs/apk/app-debug.apk

在我的情况下,存储空间不足

facebook / react-native issue #2885

我在手机上安装了成功的版本后遇到了这个问题,但长话短说我不得不卸载它以便进行全新安装。 在卸载应用程序并尝试执行react-native run-android ,我收到了此错误。

似乎在某些设备上“卸载”应用程序只会禁用它,以防您希望在特定时间范围内撤消卸载。 为了解决这个问题,我进入了设置下的应用程序并选择了我的应用程序并完全卸载了它。 之后我又能够成功构建我的应用程序。 希望这有助于某人。

我已将我的应用程序ID从com.appNamecom.companyName.appName ,我在android>app>build.gradle进行了此更新:

 defaultConfig { applicationId "com.companyName.appName" // was previously "com.appName" } 

我还将我的文件结构从android>app>src>main>java>com>appName更改为android>app>src>main>java>com>companyName>appName 。 这是我收到错误的时候。

为了解决这个错误 ,我只是为com.appName做了一个项目范围的搜索(Atom中的CMD-SHIFT-F ),并用com.companyName.appName替换它们。 问题解决了!

如果您有appIdSuffix,则应将其添加到react native命令的命令中。

 eg. react-native run-android --appIdSuffix beta 

应该添加package.json的快捷方式并通过npm运行。

 ... "scripts": { ... "android-beta": "react-native run-android --appIdSuffix beta", }, 

然后运行:

 npm run android-beta 

在我的情况下, 应用程序不会自动打开 ,没有其他问题。

只需在Android设备中搜索应用程序图标(查看所有应用程序的位置),然后点击它以手动打开应用程序 。 打包器将像往常一样开始加载应用程序。

所以这似乎是一个错误。 不幸的是,我真的不知道是什么导致了它。

对于遇到此问题且没有解决方案的其他人,如果您已经链接了库,请确保位于ProjectName/android中的settings.gradle文件中的应用包含在include语句中,如下所示: include ':ThirdPartyLibrary', ':app' 。 我忘了:app ,它是构建和安装第三方库,但不是实际的应用程序,导致问题。

当我卸载应用程序并尝试再次使用react-native run-android安装时, react-native run-android发生此问题。

以下为我工作:
1.从设置菜单转到应用程序列表。
2.您将在列表中看到您的应用程序,并在左侧显示“未为此用户安装应用程序”
3.在设置中打开该应用程序,然后单击右上方的菜单图标并选择“为所有用户卸载” 。 希望能帮助到你!

有时你得到这个错误,因为你没有卸载该应用程序的另一个以前版本,在LG手机上你必须去应用程序的设置和卸载应用程序,这发生在我身上。

如果您在app build.gradle文件中启用了构建variables,则会发生这种情况。

当react-native运行时,它似乎在测试或其他东西上加上你的应用程序id,它改变了某些文件中的包名,但使其他文件保持不变。 您的应用程序找不到.MainActivity,因为它实际上不存在于生成的新包命名空间中。

以下是尝试解决此问题的一些方法:

  • 在Manifest文件中使用FQDN获取应用程序类和活动类的名称。
  • 用这个替换你的android cli文件。 这是/node_modules/react-native/local-cli/runAndroid

这应该可以解决您的问题。