虽然在AndroidManifest.xml中声明,但Android Studio无法识别MainActivity

时间:2015-09-17 12:18:24

标签: android xml svn

暂停Android Studio项目上的工作一段时间后,然后回来并将其添加到SVN,我无法让项目继续运行;在我看来,由于缺乏适当的" SVN忽略"原来的AndroidManifest.xml可能已经丢失了。规则,当我在新机器上创建一个新的Android Studio项目时,从SVN更新并稍后提交(不幸的是,在我工作的其他机器上已经更新),似乎SVN使用了较新的清单文件,也许还有其他正确构建项目所需的文件。

除了在当前的清单文件中,有几个活动缺失,我必须尝试在那里重建,我现在遇到的问题是我总是得到"默认活动未找到&# 34;尝试构建时出错。当我将其设置为.MainActivity(绝对存在于app/src/main/java/com.example.bla.logintest中)时,它表示"活动' MainActivity'未在AndroidManifest.xml中声明"因而无法编译。

我的清单文件现在看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.bla.logintest" >
<uses-permission android:name="android.permission.READ_PHONE_STATE">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        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>
        <activity
            android:name=".EditDB"
            android:label="@string/title_activity_edit_diags"
            android:parentActivityName=".MenuActivity">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.example.bla.logintest.MenuActivity" />
        </activity>
        <activity
            android:name=".EditAnswers"
            android:label="@string/title_activity_edit_questions"
            android:parentActivityName=".MenuActivity">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.example.bla.logintest.MenuActivity" />
        </activity>
    </application>
</uses-permission>
</manifest>

注意:我已经尝试了[这个类似的问题] [1]中的解决方案。

[1]:Default Activity not found in Android Studio&#34;这个类似的问题&#34;。重建和使缓存无效并不能让我随处可见。我还添加了

sourceSets {
    main {
        manifest.srcFile 'src/main/AndroidManifest.xml'
    }

到我的build.gradle,这也没有改变任何东西。

我知道其他2个活动的父级仍然缺失,并希望接下来解决该问题,但首先想要有一个有效的默认活动。

你有什么建议我可以试试吗?我使用的是Android Studio 1.3.2。

1 个答案:

答案 0 :(得分:2)

这可以解决您的问题。

您不应在标签内写标签。

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.bla.logintest" >
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    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>
    <activity
        android:name=".EditDB"
        android:label="@string/title_activity_edit_diags"
        android:parentActivityName=".MenuActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.bla.logintest.MenuActivity" />
    </activity>
    <activity
        android:name=".EditAnswers"
        android:label="@string/title_activity_edit_questions"
        android:parentActivityName=".MenuActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.bla.logintest.MenuActivity" />
    </activity>
</application>

</manifest>