J'ai récemment essayé de mettre mon projet Xamarin Forms " CoManga " sur App Center et de faire des compilations automatiques .
Cependant, je reçois ce message d'erreur et les builds échouent.
Erreur [BT: 0.8.0]: au plus un élément avec un espace de noms '' était attendu, mais 4 ont été trouvés. [/Users/vsts/agent/2.155.1/work/1/s/src/comic_dl/comic_dl.Android/comic_dl.Android.csproj]
Je ne sais pas quel est le problème, car je peux très bien générer un fichier APK à partir de VS manuellement. Aucune erreur de ce genre ne se produit là-bas.
Voici le fichier AndroidManifest: AndroidManifest.xml
Quelqu'un peut-il nous expliquer pourquoi cela peut se produire?
4 Réponses :
L'erreur est due au fait que vous avez 4 balises application dans les fichiers manifestes.
Essayez quelque chose comme ça
<?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>
Cela a résolu le problème. Merci beaucoup!
Dans votre fichier manifeste, vous avez défini la balise d'application quatre fois, mais en général, une application n'a qu'une seule application dans le manifeste. Essayez de remplacer le code ci-dessous par votre manifeste
<?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>
Vous obtenez cette erreur car vous avez déclaré 4 application dans le fichier manifeste. Veuillez essayer avec le code ci-dessous:
<?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>
Si vous utilisez android:requestLegacyExternalStorage
Veuillez ajouter la propriété targetApi .
<application android:requestLegacyExternalStorage="true"
tools:targetApi="q" />