Xonshiz
Xonshiz

Reputation: 1367

At most one element <application> with namespace '' was expected, but 4 were found

I recently tried to put my Xamarin Forms project "CoManga" on app center and do automated builds.

However, I keep getting this error message and builds fail.

[BT : 0.8.0] error : At most one element with namespace '' was expected, but 4 were found. [/Users/vsts/agent/2.155.1/work/1/s/src/comic_dl/comic_dl.Android/comic_dl.Android.csproj]

I'm not sure what the issue is, because I can generate APK from VS manually just fine. No such error comes up over there.

This is the AndroidManifest file : AndroidManifest.xml

Can someone please shed some light as to why this might be happening?

Upvotes: 3

Views: 1357

Answers (4)

Aravin
Aravin

Reputation: 7067

If you're using android:requestLegacyExternalStorage

Kindly add targetApi property.

<application android:requestLegacyExternalStorage="true"
        tools:targetApi="q" />

Upvotes: 0

Jassem Ben Hamida
Jassem Ben Hamida

Reputation: 524

You get this error because you have declared 4 application on the manifest file. Please try with the code below:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          android:versionCode="1"
          android:versionName="1.0"
          package="com.xonshiz.CoManga"
          android:installLocation="auto">

    <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version"/>
    <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-8359860011604747~6496691983"/>
    <meta-data
            android:name="com.google.android.gms.ads.AD_MANAGER_APP"
            android:value="true"/>

    <uses-sdk
            android:minSdkVersion="21"
            android:targetSdkVersion="28"/>

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_INPUT_STATE"/>
    <uses-permission android:name="android.permission.PERSISTENT_ACTIVITY"/>
    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
            android:label="CoManga"
            android:icon="@drawable/logo">
        <activity
                android:name="com.google.android.gms.ads.AdActivity"
                android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
                android:theme="@android:style/Theme.Translucent"/>
    </application>

</manifest>

Upvotes: 3

Kailash Chouhan
Kailash Chouhan

Reputation: 2386

In your Manifest File, you have defined application tag four-times, but usually, an application has only one application in the manifest. Try Replacing below code with your manifest

<?xml version="1.0" encoding="utf-8"?>
<manifest 
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0"
package="com.xonshiz.CoManga"
android:installLocation="auto">
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28" />

<application  android:label="CoManga" android:icon="@drawable/logo">
    <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" />
    <meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true" />
    <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-8359860011604747~6496691983" />

</application>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INPUT_STATE" />
<uses-permission android:name="android.permission.PERSISTENT_ACTIVITY" />
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

Upvotes: 1

Slashbin
Slashbin

Reputation: 828

The error is because you have 4 application tags in manifest files.

Try something like this

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.xonshiz.CoManga" android:installLocation="auto">
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28" />

    <application  android:label="CoManga" android:icon="@drawable/logo">
        <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" />
        <meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true" />
        <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-8359860011604747~6496691983" />

</application>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INPUT_STATE" />
<uses-permission android:name="android.permission.PERSISTENT_ACTIVITY" />
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

Upvotes: 7

Related Questions