Android Studio无法找到默认活动

时间:2016-06-03 06:13:31

标签: android android-studio intellij-idea

我现在已经两天苦苦挣扎了。无论我做什么,在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'
}

由于

4 个答案:

答案 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”。

Screenshot showing Recognized File Types box

这解决了这个问题。希望它可以帮助别人。

答案 2 :(得分:0)

我的问题是MainActivity.java没有确定为班级。

我去了文件 - &gt;设置 - &gt;编辑 - &gt; FileTypes并在“识别的文件类型”下的右侧窗格中删除“MainActivity.java”。

就我而言,它是在txt文件类型中。

答案 3 :(得分:0)

问题可能在Manifest文件中。在我的情况下,我做了一些影响'活动'标签的重构,(在将变量'activity'更改为'mActivity'之后),这就是为什么它找不到启动器Activity。

相关问题