After updating Gradle to 7.0.2, Element type “manifest” must be followed by either attribute specifications, “>” or “/>” error

Viewed 1811

So today I updated Android Studio to:

Android Studio Arctic Fox | 2020.3.1
Build #AI-203.7717.56.2031.7583922, built on July 26, 2021

An I got a 'Android Gradle Plugin can be upgraded' notification.

Until now, I was using:

Android Gradle Plugin: 4.2.2
Gradle: 6.9
Java: 8

However, after upgrading I got the error of the question.

My Manifest File looks like this:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hsd.contest.spain.clover.huawei">
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <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"
        android:usesCleartextTraffic="true">
        <receiver
            android:name=".AlarmReceiver"
            android:enabled="true"
            android:exported="false" />

        <activity
            android:name=".ConsumeActivity"
            android:excludeFromRecents="true"
            android:launchMode="singleTask"
            android:taskAffinity="" />
        <activity android:name=".MapActivity" />
        <activity
            android:name=".SetTimeActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait" />
        <activity
            android:name=".ActivityAddFreq"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait" />
        <activity
            android:name=".ConfigActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait" />
        <activity
            android:name=".SplashActivity"
            android:configChanges="orientation|keyboardHidden"
            android:launchMode="singleInstance"
            android:screenOrientation="portrait"
            android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait" />

        <meta-data
            android:name="preloaded_fonts"
            android:resource="@array/preloaded_fonts" />
    </application>
</manifest>

Do you have any ideas about why this is happening? Interesting fact: This error only happens in this project.

EDIT My Huawei APIs dependencies are the ones that follow: Module build.gradle

implementation 'com.huawei.agconnect:agconnect-core:1.5.0.300'
implementation 'com.huawei.hms:awareness:1.0.7.303'
implementation 'com.huawei.hms:ml-computer-vision-ocr:2.0.5.300'
implementation 'com.huawei.hms:ml-computer-vision-ocr-latin-model:2.0.5.300'
implementation 'com.huawei.hms:ml-computer-vision-ocr-cn-model:2.0.5.300'
implementation 'com.huawei.hms:location:5.0.4.300'
implementation 'com.huawei.hms:maps:4.0.0.301'
implementation 'com.huawei.hms:site:5.0.5.301'
implementation 'com.huawei.hms:hianalytics:5.0.3.300'
implementation 'com.huawei.hms:ads-lite:13.4.41.304'

Project build.gradle

classpath 'com.huawei.agconnect:agcp:1.4.2.300'
4 Answers

The real solution I found by using trial and error version to use is

implementation 'com.huawei.agconnect:agcp:1.5.2.300'

Encountered the same problem. Update Huawei services. Please take care. Remember to keep your dependencies on the most up-to-date version. This problem is happening on Merged-Manifest.

implementation 'com.huawei.agconnect:agconnect-core:1.4.0.300'

please use. -> 1.5.0.300

same problem, updated to latest available version and it worked

classpath 'com.huawei.agconnect:agcp:1.6.0.300'

That error is due to Huawei outdate libraries. I followed instructions here to update to latest version: https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-apm-android-releasenotes-0000001052887266

It is important to follow the notice:

NOTICE Since version 1.5.2.302, the APMS plugin capabilities have been integrated into the AppGallery Connect plugin. To update the SDK version to 1.5.2.302 or later, you need to complete certain configurations to ensure compatibility with the original plugin functions. For details, please refer to the version change history of version 1.5.2.302.

I also have to change

implementation 'com.huawei.agconnect:agconnect-core:1.5.2.307'

to

implementation 'com.huawei.agconnect:agconnect-core:1.5.2.300'

For some reason (unknown to me) version 1.5.2.307 couldn't be found.

Related