Android的工作室默认的活动

问题描述:

我已经创建完成后我自己的应用项目类:Android的工作室默认的活动

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> 

我已收到消息Error running Unnamed:Default Activity not found

如果我会改变e我的班级app返回到清单文件中的application - 一切正常。 问题在哪里? 谢谢。

+0

你的活动在哪里? – SripadRaj

+0

是什么让你觉得你可以改变标签名称,它不会破坏? –

+2

您无法更改标签名称!你应该使用'>'并且遵循Java指南,其中类名应该是CamelCase(不是应用程序,而是应用程序)。 – shimatai

<app应该是<application您指定自定义应用程序在这里:

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

检查documentation名节说:

用于实现应用程序子类的全名 该应用程序。当应用程序进程启动时,该类 在应用程序的任何组件之前被实例化。 子类是可选的;大多数应用程序不需要一个。在子类的 不存在的情况下,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> 

添加下面一行在你menifest应用程序标记

<application 
    android:name=".app" 
    ... 
    </application> 
+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> 

希望这会对你有所帮助。

+0

这段代码如何解决提问者的问题?他已经表示,如果他将其改回“”,他就知道它有效。这正是你在这里推荐的。 –

+0

@CodyGray;提问者的代码不包括'android:name =“.app”'部分,而这个(和另一个答案) – 0xDEADC0DE

不久前我面临同样的问题,在将默认活动更改为另一个之后。

什么解决它是无效的高速缓存和重新启动的Android工作室:

File -> Invalidate Caches/Restart...

,然后点击Invalidate and Restart

通过转到“编辑配置”菜单(点击“Shift”三次,输入“编辑配置”),然后将启动选项>启动更改为“无”,您可以让Android Studio不会抱怨。

我可能会添加一个包含指令的通用活动,以避免混淆。