5 votes

Android - Le paquet est en conflit avec un paquet existant portant le même nom

J'ai cette configuration par défaut sur Gradle.

defaultConfig {
    applicationId "com.my.application"
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 190011
    versionName "2.2.1"
}

Et ces saveurs

productFlavors {
    dev {
        applicationIdSuffix ".dev"
        versionCode 333333
        buildConfigField "String", "ANVIL_BASE_URL", "DEBUG_URL"
        resValue "string", "app_name", "app name dev"
        signingConfig signingConfigs.releasesign
    }
    prod {
        buildConfigField "String", "ANVIL_BASE_URL", "PROD_URL"
        resValue "string", "app_name", "app name"
        signingConfig signingConfigs.releasesign
    }
}

J'ai publié l'application sur le Play Store avec l'identifiant d'application par défaut "com.my.application" mais lorsque j'ai installé la version Play Store et que je veux installer l'application "dev", un message apparaît qui dit ceci :

app name dev 
App not installed
The package conflicts with an existing package by the same name

Est-ce que je fais quelque chose de mal ? J'ai essayé de changer le buildCode pour dev mais cela n'a pas fonctionné non plus.

Une idée ?

Merci d'avance.

4voto

axierjhtjz Points 1673

En essayant d'installer une version modifiée de l'application en ligne de commande, j'ai rencontré l'erreur suivante :

adb install ~/Desktop/app-dev-release.apk
Failed to install /Users/axier/Desktop/app-dev-release.apk: Failure [INSTALL_FAILED_DUPLICATE_PERMISSION: Package com.my.application.dev attempting to redeclare permission com.my.application.permission.C2D_MESSAGE already owned by com.my.application]

J'ai donc modifié mon fichier AndroidManifest.xml comme suit :

<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />

La description de l'erreur est plutôt médiocre. J'espère que la solution fonctionnera pour quelqu'un comme moi à l'avenir.

Merci quand même.

0voto

Bernd Kampl Points 452

Vous devriez jeter un coup d'œil sur la documentation gradle (ApplicationId versus PackageName) . Par ailleurs, avez-vous vraiment publié la version sur le Play Store avec le nom de paquet "com.my.application" ? Ma suggestion pour résoudre votre problème serait de mettre l'applicationId dans le productFlavors. Jetez également un coup d'œil à cette réponse de stackoverflow ce qui répond également à votre question.

0voto

Qian Sijianhao Points 429

Vous avez installé une application sur votre téléphone avec le même nom de paquet, réinstallez-la avant d'installer celle-ci.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X