Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;未找到默认活动";关于Android工作室升级_Android_Intellij Idea_Android Studio - Fatal编程技术网

&引用;未找到默认活动";关于Android工作室升级

&引用;未找到默认活动";关于Android工作室升级,android,intellij-idea,android-studio,Android,Intellij Idea,Android Studio,我将IntelliJ Idea从12.0.4升级到12.10 现在,我的Android项目中的所有模块都给出了错误: 错误:未找到默认活动 我又回到了12.0.4,一切都恢复正常了 有什么想法吗?我认为这可能是缺少插件的问题。由于插件未安装,因此无法找到默认活动。另一件事可能是本地配置,但我对此表示怀疑。我删除了配置文件夹以进行验证,但没有改变任何内容。我无法评论为什么IntelliJ升级会导致此问题,因为我没有使用它 但是,该错误:“未找到默认活动”似乎在告诉您,您没有在AndroidMani

我将IntelliJ Idea从12.0.4升级到12.10

现在,我的Android项目中的所有模块都给出了错误:

错误:未找到默认活动

我又回到了12.0.4,一切都恢复正常了


有什么想法吗?我认为这可能是缺少插件的问题。由于插件未安装,因此无法找到默认活动。另一件事可能是本地配置,但我对此表示怀疑。我删除了配置文件夹以进行验证,但没有改变任何内容。

我无法评论为什么IntelliJ升级会导致此问题,因为我没有使用它

但是,该错误:“未找到默认活动”似乎在告诉您,您没有在AndroidManifest.xml中声明一个标记为主活动的活动,该活动将在应用程序启动时启动

您应该至少有一个类似以下内容的活动:

<activity
        android:name="com.your.package.name.YourActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

MainActivity.java
activity_main.xml

如果在升级IntelliJ IDEA或Android Studio版本后,或者在生成新的APK后,您看到错误发生,则可能需要刷新IDE的缓存

File -> Invalidate Caches / Restart...

尝试右键单击项目并选择打开模块设置。然后转到模块中的选项卡,找到src文件夹,右键单击它并将其标记为(蓝色)


编辑:在Android Studio的更高版本中没有“源”选项卡,但是您可以编辑build.gradle文件:

在我的例子中,AndroidManifest.xml中存在错误类型,如下所示。解决了删除应用程序标签上方的“o”字母的问题。显然,Android Studio在AndroidMainfest.xml中没有检测到类型错误

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

o
<application android:name=".AppName"
             android:allowBackup="false"
             android:icon="@drawable/ic_launcher"
             android:label="@string/app_name"
             android:theme="@android:style/Theme.Light.NoTitleBar">

o
  • Build->Rebuild项目
  • 文件->使缓存无效..->无效并重新启动
  • 它对我有用。
    重新生成项目以确保项目中没有错误。然后我们可以使缓存失效

    正确的方法是将以下内容添加到清单文件中:

    <activity
        android:name="FULL_NAME_OF_YOUR_ACTIVITY"
        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> </application>
    
    
    

    无需使缓存失效。

    在Android Studio中的运行/调试配置->Android应用程序->常规->活动->选择“不启动活动”选项。

    错误:未找到默认活动

    我这样解决了
    运行>>编辑配置>>Android应用程序>>输入默认路径
    “启动”编辑框中的活动类。

    @TouchBoarder几乎拥有它。尽管选择“不启动活动”不会导致启动


    在Android Studio中的运行/调试配置->Android应用程序->常规->活动->选择选项“启动”:

    选择你的活动。这并不能完全修复预期的行为,而是正确地覆盖它


    以上的一切对我都没有帮助。过了一段时间,我发现这个想法将动作名称改为大写。比如:

    <intent-filter>
      <action android:name="ANDROID.INTENT.ACTION.MAIN"/>
      <category android:name="ANDROID.INTENT.CATEGORY.LAUNCHER"/>
    </intent-filter>
    
    
    
    恢复正常后,IDEA识别默认活动:

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

    您的应用程序是否具有启动活动默认设置

    这可能是你的错误

    步骤1:选择编辑配置

    步骤2:查看此警告:未找到默认活动

    步骤3:选择默认活动

    步骤3:保存更改并完成

    祝你好运


    如果应用程序没有活动(例如,只有服务),请将运行/调试配置“启动”选项更改为“无”。

    我将我的意图过滤器更改为

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    
    
    
    它提示我定义一个默认意图。此添加解决了我的问题。

    我在代码中发现:

    <context android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </context>
    
    
    
    如果你仔细看,应该是


    显然,我在某个地方重构了一个“活动”,它也更改了AndroidManifest中的名称。

    在我的例子中,我重构了一个名为“活动”的成员变量,我将其重命名为“上下文”。。。我发现重构是对清单中的活动标记进行的,我发现它们是上下文标记。。。这真是太愚蠢了

    如果您正在使用小部件应用程序,此解决方案应该适合您:

  • 转到
    编辑配置
  • 启动选项设置为
  • 我犯了这个错误

    并发现在启动程序活动的清单文件中,我没有放置
    操作
    和 意图过滤器中的类别

    错的一个:

    <activity
    android:name=".VideoAdStarter"
    android:label="@string/app_name">
    
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    
    </activity>
    
    
    
    正确的一点:

    <activity
    android:name=".VideoAdStarter"
    android:label="@string/app_name">
    
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    
    </activity>
    

    我在Android Studio 3.3金丝雀3中也遇到了同样的问题。 Android Studio 3.0 stabile版本中的项目首先正常工作,而在一些清理/重建之后,它开始显示没有默认活动错误。我再次尝试重新安装Android Studio的alpha版本:错误。但后来在旧的stabile Android中启动,并使用apk安装,这个apk工作正常

    此外,我的项目是用Instant App(基本、功能、Instant、App子目录)创建的。我认为这个Android Studio在将Manifest.xml文件分为多个目录时存在一些问题

    因此,我已将设置更改为:

    我发现这个博客确实解决了我的问题。事实证明,您必须添加某种意图:

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

    在我的例子中,
    文件->无效缓存/重新启动…
    没有帮助

    我的项目一切正常,当然我的活动还有下一个意向过滤器

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    
    它的工作速度会快得多,而且你不必把它也从回收站中删除

    rmdir /S /Q .android
    rmdir /S /Q .AndroidStudio3.2
    rmdir /S /Q .gradle
    
    p、 s.put
    C
    
    <activity android:name=".DefaultActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    
    <?xml version="1.0" encoding="utf-8"?>
    
    File > Sync Project with Gradle Files
    
    class AppModuleActivity1 : HomeActivity() to appmodule1
    class AppModuleActivity2 : HomeActivity() to appmodule2
    
            <activity
                android:name="com.app.name.AppModuleActivity1">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    
    dependencies {
    implementation 'com.android.support:appcompat-v7:25.3.1'   
    implementation 'com.android.support:design:25.3.1'         
    implementation 'com.android.support:mediarouter-v7:25.3.1' 
    
      <activity
          android:name="com.your.package.name.YourActivity"
          android:label="@string/app_name">
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
       </activity>
    
    File -> Invalidate Caches / Restart...
    
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    
    <activity
            android:name="com.your.package.name.YourActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
    
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
    </activity>