[RESOLU] Unable to merge android manifests

Toutes les questions sur le développement Mobile, y compris la partie script.
Avatar de l’utilisateur
DJ-OMZ
Messages : 129
Inscription : 11 Jan 2017 13:15

[RESOLU] Unable to merge android manifests

Message par DJ-OMZ » 14 Jan 2019 15:37

Bonjour,

Je tente de mettre de la pub via AdMob sur mon jeu et j'ai donc pris le package prévu pour Unity.

Malheureusement, je tombe sur l'erreur Unable to merge android manifests lorsque je tente de Build sur mon téléphone.

J'ai regardé en ligne, et je constate d'après des explications, qu'il y a un conflit sur la version Android (un message d'erreur est présent dans le Controleur).
Pour certains, il y a un conflit de versions entre une 22 et 24, et il y a 2 solutions :
Soit, aller dans les Players settings et choisir une version antérieure (ce qui n'a pas marché pour moi :/ )
Soit modifier le xml AndroidManifest, et y mettre la bonne version, pour que tout concorde.

Seulement, dans mon AndroidManifest, j'ai ceci :

Code : Tout sélectionner

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.unity.ads"
    android:versionName="1.0"
    android:versionCode="1">
  <uses-sdk android:minSdkVersion="14"
      android:targetSdkVersion="19" />
  <application>
  </application>
</manifest>
Donc une version min 14 et Target à 19...

Or, mon message d'erreur dit ceci :
CommandInvokationFailure: Unable to merge android manifests. See the Console for more details.
C:\Program Files\Java\jdk1.8.0_73\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/ACER/AppData/Local/Android/sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[

]
stdout[
Warning: [Temp\StagingArea\AndroidManifest-main.xml:12, C:\Users\ACER\Documents\Bounce Colors\Temp\StagingArea\android-libraries\android.arch.lifecycle.runtime-1.0.0\AndroidManifest.xml:3] Main manifest has <uses-sdk android:targetSdkVersion='24'> but library uses targetSdkVersion='26'
[Temp\StagingArea\AndroidManifest-main.xml, C:\Users\ACER\Documents\Bounce Colors\Temp\StagingArea\android-libraries\com.android.support.support-compat-26.1.0\AndroidManifest.xml:6] Skipping identical /manifest/application/meta-data[@name=android.support.VERSION] element.
[Temp\StagingArea\AndroidManifest-main.xml, C:\Users\ACER\Documents\Bounce Colors\Temp\StagingArea\android-libraries\com.android.support.support-core-ui-26.1.0\AndroidManifest.xml:6] Skipping identical /manifest/application/meta-data[@name=android.support.VERSION] element.
[Temp\StagingArea\AndroidManifest-main.xml, C:\Users\ACER\Documents\Bounce Colors\Temp\StagingArea\android-libraries\com.android.support.support-core-utils-26.1.0\AndroidManifest.xml:6] Skipping identical /manifest/application/meta-data[@name=android.support.VERSION] element.
[Temp\StagingArea\AndroidManifest-main.xml, C:\Users\ACER\Documents\Bounce Colors\Temp\StagingArea\android-libraries\com.android.support.support-fragment-26.1.0\AndroidManifest.xml:6] Skipping identical /manifest/application/meta-data[@name=android.support.VERSION] element.
[Temp\StagingArea\AndroidManifest-main.xml, C:\Users\ACER\Documents\Bounce Colors\Temp\StagingArea\android-libraries\com.android.support.support-media-compat-26.1.0\AndroidManifest.xml:6] Skipping identical /manifest/application/meta-data[@name=android.support.VERSION] element.
[Temp\StagingArea\AndroidManifest-main.xml, C:\Users\ACER\Documents\Bounce Colors\Temp\StagingArea\android-libraries\com.android.support.support-v4-26.1.0\AndroidManifest.xml:6] Skipping identical /manifest/application/meta-data[@name=android.support.VERSION] element.
]
exit code: 1
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.HostView:OnGUI()
Library uses 26... Cela n'as pas l'air de concorder avec mon AndroidManifest...

Alors comment résoudre ce problème ?
Dernière édition par DJ-OMZ le 15 Jan 2019 22:47, édité 1 fois.

Avatar de l’utilisateur
Sebela
Messages : 141
Inscription : 25 Juin 2014 21:39

Re: Unable to merge android manifests

Message par Sebela » 14 Jan 2019 15:56

Le mieux c'est de pas mettre de pub :mrgreen:
Plus sérieusement, tu aurais pas une librairie qui requiert que tu utilises la version 26 ?

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Unable to merge android manifests

Message par boubouk50 » 14 Jan 2019 16:41

Concernant les restrictions Android:
Google Play will require that new apps target at least Android 8.0 (API level 26) from August 1, 2018, and that app updates target Android 8.0 from November 1, 2018.
Il te faut donc mettre à jour ton SDK pour avoir l'API 26.
Aussi, il me semble aussi que le minimum doit être 23 depuis Septembre 2018. (à vérifier)
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
DJ-OMZ
Messages : 129
Inscription : 11 Jan 2017 13:15

Re: Unable to merge android manifests

Message par DJ-OMZ » 15 Jan 2019 21:10

Je suis allé sur mon Android Studio et j'ai mis a jour le SDK, avec la 24, 25, 26 27 et 28.
Sur Unity, dans mon Player Setting, je ne peux monter que a 25, je ne vois pas les supérieures, je ne sais pas pourquoi.

Bref, j'ai retenté mon build, et j'ai une nouvelle erreur, séparée en 3 messages :
Installation failed with the following output:
[ 0%] /data/local/tmp/Test.apk
[ 0%] /data/local/tmp/Test.apk
[ 0%] /data/local/tmp/Test.apk
..... jusqu'à
[ 99%] /data/local/tmp/Test.apk
[100%] /data/local/tmp/Test.apk
C:\Users\ACER\Documents\Bounce Colors\Test.apk: 1 file pushed. 2.4 MB/s (23056972 bytes in 9.271s)
pkg: /data/local/tmp/Test.apk

Failure [INSTALL_FAILED_OLDER_SDK]


UnityEditor.HostView:OnGUI()
UnityException: Unable to install APK!
Installation failed. See the Console for details.
UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, UnityEditor.Android.CommandInvokationFailure ex)
UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuildPointToConsole (System.String title, System.String message)
UnityEditor.Android.PostProcessor.Tasks.PublishPackage.UploadAPK (Boolean retryUpload)
UnityEditor.Android.PostProcessor.Tasks.PublishPackage.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.Launch (BuildTarget target, System.String installPath)
UnityEditor.Android.AndroidBuildPostprocessor.LaunchPlayer (BuildLaunchPlayerArgs args)
UnityEditor.PostprocessBuildPlayer.Launch (BuildTargetGroup targetGroup, BuildTarget target, System.String path, System.String productName, BuildOptions options) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:150)
UnityEditor.HostView:OnGUI()
et pour finir :
UnityException: Unable to install APK!
Installation failed. See the Console for details.
Et alors la je vous avoue que j'ai aucune piste.

Il y a ce message Failure [INSTALL_FAILED_OLDER_SDK], mais dans le Player Setting j'ai mis le SDK 25, le plus récent que Unity me propose. Et d'après le message de Boubouk50, bah 28 et 25 c'est pas pareil quoi... Comment dois-je faire pour que Unity voit et me propose la v28 ?

Avatar de l’utilisateur
DJ-OMZ
Messages : 129
Inscription : 11 Jan 2017 13:15

Re: Unable to merge android manifests

Message par DJ-OMZ » 15 Jan 2019 22:47

En retournant sur le Player settings, j'ai mis le niveau le plus bas de l'API dans le "Minimum API Level" et cela a résolu mon problème. Et j'ai donc mes tests de publicité qui fonctionnent, pour le plus grand plaisir de Sebela.

Encore merci pour votre aide, problème visiblement résolu. Je ne sais pas exactement pourquoi j'avais a faire ça pour être honnête.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: RESOLU Unable to merge android manifests

Message par boubouk50 » 16 Jan 2019 10:02

Il faut faire attention à l'API minimum effectivement, sinon, tu ne compiles par pour les versions Android inférieures.
L'API 25 correspond à la nougat 7.1, donc tu ne pouvais pas installer ton application sur un mobile dont la version est inférieure. (Ce qui doit être le cas de ton mobile)
Il me semble qu'à l'heure actuelle, tu dois avoir un minimum API à 23 (6.0) et compiler jusqu'à 26 (8.0) pour mettre une application sur le store.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « Développement plateformes mobile Iphone et Android »