&引用;未找到默认活动";关于Android工作室升级
我将IntelliJ Idea从12.0.4升级到12.10 现在,我的Android项目中的所有模块都给出了错误: 错误:未找到默认活动 我又回到了12.0.4,一切都恢复正常了&引用;未找到默认活动";关于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升级会导致此问题,因为我没有使用它 但是,该错误:“未找到默认活动”似乎在告诉您,您没有在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.putC
<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>