更新后无法解析Android Manifest中的XML

时间:2019-08-09 21:31:38

标签: android-studio android-manifest

我有一个几个月前正在开发的应用程序。今天,我在Android Studio 3.4中再次打开了它,并在同步时询问是否可以升级到当前版本的Gradle和Gradle插件。我同意了,现在清单中出现了XML解析错误。

清单在这里,我添加了一条注释以指示出现错误的位置:

<?xml version="1.0" encoding="utf-8"?>
<manifest 
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.schalkx.alarmapp01">

<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />

<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/Theme.AppCompat">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".SetAlarmActivity">
        android:label="Alarm Settings"
        android:parentActivityName=".MainActivity" <!-- *** I GET THE ERROR HERE *** -->
        <!-- Parent activity meta-data to support 4.0 and lower -->
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity" />
    </activity>
    <activity android:name=".ShowClockActivity">
        android:label="Desktop Clock"</activity>

    <receiver android:name=".AlarmReceiver" />

    <activity
        android:name=".UserResponseActivity"
        android:label="@string/title_activity_user_response" />
    <meta-data
        android:name="preloaded_fonts"
        android:resource="@array/preloaded_fonts" />
</application>

</manifest>

我进行了一些测试,添加了一个新的活动,并且我注意到语法现在生成的方式有所不同,并且会像这样开始:

<activity 
    android:name=".SetAlarmActivity"
    android:label="Alarm Settings"
    android:parentActivityName=".MainActivity" 
....

也就是说,

的末尾不会添加“>”
    <activity android:name=".SetAlarmActivity">

,但稍后。问题是我无法正确使用语法。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

应该是

<activity android:name=".SetAlarmActivity"
        android:label="Alarm Settings"
        android:parentActivityName=".MainActivity"> //<--Notice

代替

<activity android:name=".SetAlarmActivity"> //<--Notice
        android:label="Alarm Settings"
        android:parentActivityName=".MainActivity"