繁体   English   中英

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

[英]MainActivity does not exist error in Android react-native

所以我得到 MainActivity 不存在错误,这可能是因为我将包和应用程序从bomber重命名为Bomber并将 appId 从com.bomber更改为cool.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.

应用程序/build.gradle

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "cool.bomber.android"
...

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>

android/app/src/main/java/cool/bomber/android/MainActivity.java

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

public class MainActivity extends ReactActivity {
    @Override
    protected String getMainComponentName() {
        return "Bomber";
    }
}

我不确定我还应该注意什么来调试。

在清单中添加包名称:

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

仍然没有像这样写完整的包名

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

<activity
    android:name="cool.bomber.android.MainActivity"
    >

并确保这是正确的路径

并在 CMD 中这样写:

 cd android & gradlew clean 
      or maybe
 cd android && ./gradlew clean 

然后运行react-native run-android

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

否则:

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

对我来说,问题是我在我的 android/app/src/debug/AndroidManifest.xml 中添加了tools:node="replace"

<application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" tools:node="replace"/>

我补充说,基于有人推荐它解决其他问题,它导致臭名昭著的错误类型 3 出现。 一旦我摆脱了它,问题就消失了:

<application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning"/>

干杯,阿尔瓦罗

我必须重新安装应用程序才能解决问题

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

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

adb uninstall "package name"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM