如何解决“无法解析AndroidManifest.xml中的XML”?

时间:2019-04-20 06:56:32

标签: java android android-manifest

在Android Studio中,我出现了同步错误:

ERROR: Failed to parse XML in C:\...\app\src\main\AndroidManifest.xml
ParseError at [row,col]:[70,1]
Message: expected start or end tag
Affected Modules: app

我在androidmanifest.xml中添加了android:hardwareAccelerated =“ true”,但这不能解决我的问题。如何解决?

AndroidManifest.xml

<!--android:hardwareAccelerated ="true"-->
<application
    android:name=".App"
    android:allowBackup="true"
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:roundIcon="@drawable/icon_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.MaterialComponents.Light.NoActionBar"
    android:hardwareAccelerated="true">
    <activity
        android:name=".SelectColor"
        android:screenOrientation="sensorPortrait"/>
    <activity
        android:name=".AddAimActivity"
        android:screenOrientation="sensorPortrait"/>
    <activity
        android:name=".MainActivity"
        android:screenOrientation="sensorPortrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".PopActivity"
        android:screenOrientation="sensorPortrait"/>
    <activity
        android:name=".AddActionAtivity"
        android:theme="@style/AppTheme"
        android:screenOrientation="sensorPortrait" />
    <activity
        android:name=".SelectIconActivity"
        android:screenOrientation="sensorPortrait"/>
    <activity
        android:name=".EditActionActivity"
        android:theme="@style/AppTheme"
        android:screenOrientation="sensorPortrait"/>
    <activity
        android:name=".EditRoutineActivity"
        android:theme="@style/AppTheme"
        android:screenOrientation="sensorPortrait"/>

    <activity
        android:name=".EditAimActivity"
        android:theme="@style/AppTheme"
        android:screenOrientation="sensorPortrait"/>
    <activity
        android:name=".AddReminder"
        android:screenOrientation="sensorPortrait"/>

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

    <activity
        android:name=".AddRoutine"
        android:theme="@style/AppTheme"
        android:screenOrientation="sensorPortrait"/>
    <service android:name="net.eagledev.planner.BackgroundService" android:exported="false" />
    <service android:name=".NotificationService"/>

</application>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>

应用模块

compileSdkVersion 28
defaultConfig {
    applicationId "net.eagledev.planner"
    minSdkVersion 23
    targetSdkVersion 28
    versionCode 5
    versionName "0.6"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
packagingOptions {
    exclude 'META-INF/proguard/androidx-annotations.pro'

}}

依赖性

implementation fileTree(dir: 'libs', include: ['*.jar'])
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0-alpha'
implementation 'com.android.support:design:28.0.0'
implementation 'com.getbase:floatingactionbutton:1.10.1'
implementation 'com.github.clans:fab:1.6.2'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.android.support:recyclerview-v7:28'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:recyclerview-selection:28.0.0'
def room_version = "1.1.1"
implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"
implementation 'com.android.support:gridlayout-v7:28.0.0'

8 个答案:

答案 0 :(得分:2)

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

转到应用程序->> src->> main中的项目文件夹,然后使用记事本修改AndroidManifest.xml。

您需要将-uses权限-放在

之间
 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.exemple">

<application>
</application>

答案 1 :(得分:1)

只需转到清单的第70行,您会发现任何特殊字符,例如-@,!,#、。在我的情况下,这是一个点(。),我只是删除了该点而错误消失了。

原因是[row,col]处的ParseError:[70,1]

假设错误在第70行。

答案 2 :(得分:0)

您的清单应采用以下格式:

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

    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>        
    <application 
        android:hardwareAccelerated="true">
        ...
    </application>

</manifest>

https://developer.android.com/guide/topics/manifest/manifest-intro

答案 3 :(得分:0)

在处理较旧的项目并对其进行更新时,恰好具有该确切错误。 我通过在文本编辑器NotePadd ++中打开Manifest文件并更正特殊字符的问题来解决该问题。

在我的清单中,获得互联网许可后,我有一个特殊角色。 它说LS。不知道是什么,但是我删除了字符,保存了XML,然后再次尝试运行Gradle Sync,它解决了问题。从“文本编辑器”转到清单文件的第70行,并删除特殊字符,然后尝试查看gradle是否可以继续工作。

答案 4 :(得分:0)

更新gradle之后,我也遇到了类似的问题...在我的清单中。

$source = "C:\tmp\repertoire"
$destination = "C:\tmp\repertoire.zip"
Add-Type -assembly "system.io.compression.filesystem"
[io.compression.zipfile]::CreateFromDirectory($Source, $destination)

并将其更改为

<activity android:name=".motoController">
    android:screenOrientation="landscape"
</activity>

问题消失了...

答案 5 :(得分:0)

[row,col]检查清单文件中的确切行号和列号,并删除所有不必要的字符,然后您的问题就会解决。

如果错误仍未解决,请尝试清理,重建或构建项目。有时重新启动android studio将解决问题。尝试设置->无效并重新启动->无效缓存。

以上任何解决方案都可以解决此错误。 如有其他疑问,请在评论框中提出。

答案 6 :(得分:0)

我有这个问题。...

之前

<application
    android:name=".data.ThisApplication"
    android:allowBackup="true"
    android:label="@string/app_name" />

之后

<application
    android:name=".data.ThisApplication"
    android:allowBackup="true"
    android:label="@string/app_name" 

我只是删除“ />”

此后没有错误

答案 7 :(得分:0)

  • 就我而言,只是删除一个依赖项,然后再次撤消它,它刷新了gradle,并删除了错误,我的错误与上述希望相同,希望对您有所帮助