在Android react-native中,MainActivity不存在错误

Mon*_*key 7 android android-gradle-plugin react-native react-native-android

所以我得到的MainActivity不存在错误,可能是因为我将包和应用程序重命名bomberBomber并将appId更改com.bombercool.bomber.android

我检查了AndroidManifest,活动源文件和build.gradle文件,但我似乎无法找到错误是什么

错误信息

Starting: Intent { cmp=cool.bomber.android/.MainActivity }
Error type 3
Error: Activity class {cool.bomber.android/cool.bomber.android.MainActivity} does not exist.
Run Code Online (Sandbox Code Playgroud)

应用程序/的build.gradle

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "cool.bomber.android"
...
Run Code Online (Sandbox Code Playgroud)

AndroidMaifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.CAMERA" />

<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="22" />

<application
  android:name=".MainApplication"
  android:allowBackup="true"
  android:label="@string/app_name"
  android:icon="@mipmap/ic_launcher"
  android:theme="@style/AppTheme">
  <activity
    android:name=".MainActivity"
    android:launchMode="singleTask"
    android:label="@string/app_name"
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
    android:windowSoftInputMode="adjustResize">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="com.google.intent.category.CARDBOARD" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
        <data android:host="foo.app.goo.gl" android:scheme="http"/>
        <data android:host="foo.app.goo.gl" android:scheme="https"/>
    </intent-filter>
  </activity>
  <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
Run Code Online (Sandbox Code Playgroud)

Android设备/应用/ src目录/主/ JAVA /冷/轰炸机/安卓/ MainActivity.java

package cool.bomber.android;    
import com.facebook.react.ReactActivity;

public class MainActivity extends ReactActivity {
    @Override
    protected String getMainComponentName() {
        return "Bomber";
    }
}
Run Code Online (Sandbox Code Playgroud)

我不确定我还应该考虑调试什么.

Dev*_*pps 9

您需要正确卸载该应用程序。

如果在手机上不起作用,您可以使用cmd

adb uninstall "package name"


Sag*_*ada 1

在清单中添加包名称:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cool.bomber.android">
Run Code Online (Sandbox Code Playgroud)

仍然无法像这样编写完整的包名称

<application
  android:name="cool.bomber.android.MainApplication"
  android:allowBackup="true" >

<activity
    android:name="cool.bomber.android.MainActivity"
    >
Run Code Online (Sandbox Code Playgroud)

并确保这是正确的路径

然后在 CMD 中写下:

 cd android & gradlew clean 
      or maybe
 cd android && ./gradlew clean 
Run Code Online (Sandbox Code Playgroud)

然后跑react-native run-android

确保编写此代码时位于项目文件夹的根目录下

要不然:

使用 android studio 更改包后,请按照刷新整个项目。