未找到Android工作室默认活动

时间:2017-08-04 13:19:24

标签: android android-manifest

在我创建了自己的应用程序类之后:

package com.example.bezzabarovaa.myapplication;
import android.app.Application;
import android.content.Context;

/**
 * Created by bezzabarovaa on 04.08.2017.
 */

public class app extends Application {
public static Context context;

@Override public void onCreate() {
    super.onCreate();
    context = getApplicationContext();
}

}

并更改了manifest.xml(将应用程序更改为app类)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.bezzabarovaa.myapplication">

<app
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
        android:label = "@string/app_name">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
</app>

我收到一条消息错误运行未命名:未找到默认活动

如果我将我的班级app更改回manifest.xml中的application - 一切正常。 哪里有问题? 谢谢。

8 个答案:

答案 0 :(得分:8)

<app应该是<application您在此处指定自定义应用:

<application android:name=".app" ...

检查documentation名称部分说:

  

为其实现的Application子类的完全限定名称   应用程序。当应用程序进程启动时,这个类   在任何应用程序的组件之前实例化。该   子类是可选的;大多数应用程序不需要一个。离席期间   在子类中,Android使用基本Application类的实例。

完整示例(包含您的代码):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.bezzabarovaa.myapplication">

<application
    android:name=".app"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
        android:label = "@string/app_name">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
</application>
</manifest>

答案 1 :(得分:3)

通过单击“使用gradle文件同步项目”来解决

答案 2 :(得分:2)

使用下面的代码段

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.bezzabarovaa.myapplication">

<application
    android:name=".app"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
        android:label = "@string/app_name">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />

        </intent-filter>
    </activity>
</application>

希望这会对你有所帮助。

答案 3 :(得分:1)

在将默认活动更改为另一个活动之后,我前一段时间遇到了同样的问题。

解决它的原因是无效缓存并重新启动Android Studio:

File -> Invalidate Caches / Restart...

然后点击Invalidate and Restart

答案 4 :(得分:0)

在清单应用程序代码中添加以下行

<application
    android:name=".app"
    ...
     </application>

答案 5 :(得分:0)

您可以转到“编辑配置”菜单(点按“Shift”三次,输入“编辑配置”),然后更改启动选项&gt;,让Android Studio不要抱怨。发布到“没什么”。

我可能会添加包含说明的通用活动,以避免混淆。

答案 6 :(得分:-1)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.bluetoothlegatt">

    <uses-feature
        android:name="android.hardware.bluetooth_le"
        android:required="false" />

    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Holo.Light">
        <activity
            android:name="com.example.android.bluetoothlegatt.DeviceScanActivity"
            android:icon="@drawable/app_icon"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.example.android.bluetoothlegatt.DeviceControlActivity" />

        <service android:name="com.example.android.bluetoothlegatt.BluetoothLeService" />
    </application>

</manifest>

答案 7 :(得分:-1)

我按照以下步骤解决了同样的问题

关闭Android Studio

从中删除:

C:\ Users \您的用户名。android/ log和gradle文件夹

C:\ Users \您的用户名。gradle

来自C:\ Users [您的用户名]

重新启动计算机并运行Android Studio(将需要一些时间来重建)