Android react-native 中的 MainActivity 不存在错误
Posted
技术标签:
【中文标题】Android react-native 中的 MainActivity 不存在错误【英文标题】:MainActivity does not exist error in Android react-native 【发布时间】:2018-09-09 15:51:06 【问题描述】:所以我收到 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.
app/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";
我不确定我还应该查看什么进行调试。
【问题讨论】:
你找到解决办法了吗? 【参考方案1】:您需要正确卸载应用程序。
如果手机打不开,可以使用cmd
adb uninstall "package name"
【讨论】:
这对我有用。谢谢!【参考方案2】:在清单中添加包名:
<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更改包后,关注this刷新整个项目。
【讨论】:
【参考方案3】:对我来说,问题在于我已将 tools:node="replace" 添加到我的 android/app/src/debug/AndroidManifest.xml:
<application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" tools:node="replace"/>
我已经添加了基于有人推荐它用于其他问题,它导致臭名昭著的错误类型 3 出现。一旦我摆脱它,问题就消失了:
<application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning"/>
干杯, 阿尔瓦罗
【讨论】:
【参考方案4】:我必须重新安装应用程序才能解决问题
【讨论】:
以上是关于Android react-native 中的 MainActivity 不存在错误的主要内容,如果未能解决你的问题,请参考以下文章
android中的React-native POST请求通过https返回网络错误
Android模拟器中的React-Native Runnable错误
Android react-native 中的 MainActivity 不存在错误
关于Webstorm运行react-native中的Android项目出错的解决办法