INSTALL PARSE FAILED INCONSISTENT CERTIFICATES while trying to execute android app on device

Hi there,
I’m getting an “inconsistent cerficates” error when I try to run my ionic app on my Nexus 7 (Running Lollipop 5.0.2) using the following command:

ionic run --device android

The build goes smoothly until

Installing app on device…

/Users/username/htdocs/chationic/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
ERROR: Failed to launch application on device: ERROR: Failed to install apk to device: 	pkg: /data/local/tmp/MainActivity-debug.apk
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

ERROR running one or more of the platforms: Error: /Users/username/htdocs/chationic/platforms/android/cordova/run: Command failed with exit code 8
You may not have the required environment or OS to run this project

Everything seem to work on my Nexus 5 that has Lollipop 5.1
I do have installed the platform sdk 21 (5.0.1) and 22 (5.1.1)

Any suggestion would be extremely appreciated. Thanks.

1 Like

Probably you have another app installed with the same name, signed with another type of key. Ie in your device you the app singed with a release key. Other possibility is there is an app in your device with a newer version.
Drop the app with the same name in your device.
Hope this will help?

11 Likes

Thank you for the hint.
Unfortunately I’ve been very careful to uninstall the app every time I re-built it.

@pcr you were right!
I built the app locally and then sent it through email.
Trying to install it resulted in a “a package with the same name already exist”.
Searching into apps I found the package. I uninstalled it and voila! It worked.

Thank you!

1 Like

Be carefull with messing around with the package ID. If you want to publish your app on Apple Store or Android Store the package ID is very important. If you later want to update a published app, the update must have the same package ID and a highest version nummer.

Another important item is signing. Your app must always be signed with the same app. So your solution should be to sign every uodate with same key and update the version nummer in your app. BTW the package ID and the version can be found in the config.xml in the root if your app.

Thankyou it work prefectly