1

We are re-writing our app in Xamarin to replace both iOS and Android versions written in XCode and Android Studio respectively.

For the moment, I'm concerned with being able to install the newer Xamarin version of our app over an existing installation that was built with Android Studio.

I've used the same package name, debug.keystore, and package signing key store - thinking that's what's needed to tell Android to go ahead and install over the existing app.

So far I've only been installing and running the new app using Xamarin Studio for debugging.

If I unistall either version before attempting to install again, then both succeed.

But, if I DON'T uninstall first, then neither environment can install over the other:

Installing from Xamarin Studio quits with:

INSTALL_FAILED_UPDATE_INCOMPATIBLE

Installing the old from Android Studio quits with:

INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES

I need to be able to do this as we hope to deliver the Xamarin version transparently to installed users. The users shouldn't need to think about uninstalling and then re-installing and losing any locally stored data in the process.

How do I make this happen? Thanks!

Michael Armes
  • 1,056
  • 2
  • 17
  • 31
EricD
  • 13
  • 4

1 Answers1

0

Both messages points to the used keystore. You should ensure that you really use the same keystore.

Please see also this how-to-deal-with-install-parse-failed-inconsistent-certificates-without-uninstall.

Community
  • 1
  • 1
tequila slammer
  • 2,821
  • 1
  • 18
  • 25
  • Thanks for your input - I thought so too - but both apps are using the same debug.keystore (backed up the previously ~/.local/share/Xamarin/Mono for Android/debug.keystore and replaced it with the one found in /Users//.android/debug.keystore. I restarted Xamarin after doing so. I've imported the same KeyStore.jks into both environments. So, how do I determine if those are the keys actually being used? – EricD Nov 22 '16 at 21:27
  • Thanks @tequila - but it turned out to be a misspelling in the package name in the manifest - but I appreciate that you sent me back to the details. – EricD Dec 02 '16 at 17:29