我现在已经两天苦苦挣扎了。无论我做什么,在Windows 10 64上运行的Android Studio 2.1.1一直在投掷
无法识别启动活动:找不到默认活动 启动活动时出错。
此外,java文件的语法高亮也不起作用,即我的MainActivity.java文件根本没有语法检查。
我对任何SO答案都没有运气,这些答案主要包括以下一个或多个:
我试过
1-使缓存无效并重新启动android studio
2-清洁/重建
3-重启窗口
4-完全删除android studio并从头开始重新安装
5- Gradle resync
6-尝试使用不同的SDK创建新项目只是为了至少建立一个没有构建的项目
为什么会发生这种情况?作为参考,我的文件在
下面MainActivity.java:
package com.example.simpleapp.simpleapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
AndroidManifest.xml (.MainActivity为红色,也找不到)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.simpleapp.simpleapp">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Gradle项目文件
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Gradle模块文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.example.simpleapp.simpleapp"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
}
由于
答案 0 :(得分:1)
在Manifest.xml文件中提供.MainActivity的总路径
<activity android:name="com.example.simpleapp.simpleapp.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
这基于: -
此处定义的默认启动器活动将指向安装MainActivty的android:name标签。如果在清单中找不到活动tad,它将通过“无法识别启动活动:启动时未找到默认活动错误活动“。用户可能会更改中间的包将导致此问题
答案 1 :(得分:1)
好好经过许多令人沮丧的时间后,我发现某种方式"MainActivity.java"
被添加为可识别的文件类型。不知道如何,但作为Add->New Activity
向导添加的所有活动的默认名称是"MainActivity"
,android studio始终将"MainActivity.java"
视为jsp。因此,每次添加新活动时,都可以永远找到主要活动!
我去了文件 - &gt;设置 - &gt;编辑 - &gt; FileTypes并在“识别的文件类型”下的右侧窗格中删除“MainActivity.java”。
这解决了这个问题。希望它可以帮助别人。
答案 2 :(得分:0)
我的问题是MainActivity.java
没有确定为班级。
我去了文件 - &gt;设置 - &gt;编辑 - &gt; FileTypes并在“识别的文件类型”下的右侧窗格中删除“MainActivity.java”。
就我而言,它是在txt文件类型中。
答案 3 :(得分:0)
问题可能在Manifest文件中。在我的情况下,我做了一些影响'活动'标签的重构,(在将变量'activity'更改为'mActivity'之后),这就是为什么它找不到启动器Activity。