【发布时间】:2018-12-28 11:58:43
【问题描述】:
问题在一夜之间发生。有一天,一切正常。我关闭了我的电脑并在另一天重新启动它。然而,在没有改变任何事情的情况下,我尝试在我之前拥有的同一虚拟设备上启动我的应用程序,但不知何故它不会启动,因为:
“运行‘应用程序’时出错。未找到默认活动。”
我的清单看起来像这样。我更改了包名称和下面的两个活动(参见下面的 cmets)。其余完全一样。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="MyPackageName">
<!-- To auto-complete the email text field in the login form with the user's emails -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.INTERNET" />
<application
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=".LoginActivity"
android:label="@string/title_activity_login"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:screenOrientation="portrait">
</activity>
<activity android:name=".AnotherActivity" />
<activity android:name=".OneMoreActivity">
</activity>
<meta-data
android:name="io.fabric.ApiKey"
android:value="364e8b3f6acfddf9ad32bed8c1503bb762b19cd5" />
</application>
</manifest>
通常我的应用程序会从登录活动开始。但是,现在没有了。我试图“使缓存无效/重新启动”。没有改变。我多次重新启动AS。不过,什么都没有。
然后我尝试更改启动选项。当前选项设置为“默认活动”。所以我试图将其更改为特定的。即,LoginActivity。但它告诉我:
“运行‘app’时出错。AndroidManifest.xml 中未声明Activity‘LoginActivity’。”
它告诉我它没有被声明,它显然是。否则我一开始就无法从下拉列表中选择它。我也尝试开始另一个活动。 “主要活动”。还是什么都没有。
我到底做错了什么?是否有一种解决方法,我可以在我的虚拟设备上手动获取 APK,以便我至少可以继续工作?
编辑
我已经尝试删除 .gradle 文件夹。可悲的是,这没有奏效。我尝试将其推送到 git 并在另一个文件夹中再次克隆它。那也没用。
解决方法
到目前为止,我只能找到一种解决方法:
- 转到运行/编辑配置...
- 转到常规/启动选项 -> 启动:无
- 照常运行。 Android Studio 将构建项目并将应用程序安装到您的设备上,但不会启动它!
- 在您的设备上手动启动您的应用。
- 转到运行/附加调试器到 Android 进程。
- 选择您的应用。
显然,这有点麻烦,并且可能会使调试应用程序的启动变得更加困难。所以我仍在寻找一个实际的解决方案。
【问题讨论】:
-
删除 .gradle 文件并使 android studio 失效并重启应该可以解决你的问题
-
我有同样的问题,我通过创建新项目并将您的代码复制/粘贴到新项目中来解决这个问题,否则在“GitHub”克隆上发布到不同的机器
-
@Smogen 你能分享整个清单文件吗,可能会有帮助
-
@Nero 我添加了清单。正如我所说,我在发布之前所做的唯一更改是将包重命名为“MyPackageName”以及两个活动“AnotherActivity”和“OneMoreActivity”。其他人的名字是正确的。
-
@Smogen 还请分享登录活动的完整代码(从顶部开始,其中还包括您的导入)
标签: android android-studio android-launcher