I've been working on some updates to an existing application I have in Google Play. The newer version of the application makes some changes to the application database. The problem I'm having is that I can't figure out how best to test the new update. Eclipse signs my "devel" package with debug.keystore (I presume) while the installed application from GP was signed with my release.keystore so I get the error message "Re-installation failed due to different application signatures” when I try to "run" my changes within Eclipse for debugging.
It's weird because I can download the 'release' apk from my company website and side-load it. This seems to ignore the signing even though the apk from GP and the one side-loaded are the same file.
If I go into Eclipse's Windows > Preferences > Android > Build and enter my release.keystore in under "custom debug keystore" (to get around the key signing descrepency) then Eclipse just complains the "Keystore was tampered with, or password was incorrect" so that route is out as well.
I'd really like to be able to test a 'real world' update before pushing the new apk to GP. Is there anyway to do this?
Export the apk signed with your release key and use adb install -r myapp.apk to update it on a device that has the older version installed.
Related
I upgraded my Android studio to 1.4. Now when I'm deploying my app to my device I get the message that the device has an application with the same package but a different signature. How is this possible? I already did some research and I looked up my debug.keystore, but this hasn't changed since 13/03/2015. Anyone has any idea how I can fix this?
The problem is the keys that have been used to sign the APKs, by default if you are running directly from your IDE and opening your Emulator, the APK installed in the Emulator is signed with your debug-key(usually installed in ~/.android/debug.keystore), so if the previous APK was signed with a different key other than the one you are currently using you will always get the signatures conflict, in order to fix it, make sure you are using the very same key to sign both APKs, even if the previous APK was signed with a debug-key from another SDK, the keys will definitely be different.
Also if you don't know exactly what key was used before to sign the apk and yet you want to install the new version of your app, you can just uninstall the previous application and reinstall the new one.
for more info go through This
Hope this Helps...
Debug builds are signed with the SDK keystore which is generated when you install the Android SDK. On Linux / OSX it is located at ~/.android/debug.keystore.
The message you had means that you have a debug build installed and you want to install an App Store build on it (or the other way around).
This can also happen when you deploy from a different machine.
i recently uploaded an app to the play store and needed to sign the apk.
Now i have 2 keystores: for debugging and for releasing.
my problem is, that i cant install my app with eclipse when i have installed the play/release signed apk, i have always to uninstall it.
my question is, how others manage that?
is it possible to disable verification when installing via 'adb install' or somehow use the release key as debug key in eclipse? eclipse wont accept it because it hasnt the default debug alias and passwords.
metinkale38
Yes you can define your custom (release) debug keystore as default.
In eclipse go to Window --> Preference --> Android --> Build copy the path of your keystore.
I have a programm with an auto-updater and till now I deployed programm versions generated by the eclipse "Run" and "Debug" commands for my beta testers. (poor decision - as I know now)
Now I want do deploy versions that have been created by the "Export" command, but without the need for my testers to uninstall the app priror to installing the new version. To achieve this I would need to sign the apks created by the "Export" command with the key that is used for the automatic debug builds.
Is this possible? - If yes: how would i do that and where can I find the key that is used for this automatic builds?
best regards
You can find the automatic debug key from ~/.android/debug.keystore . If you are using eclipse you can set the path to a custom keystore (if you are so inclined) from Windows->preference-> Android->Build. But the disadvantage of using the debug key is that 1)it is valid for 365 days only. 2) You can't publish your app to play store. and others which I can't recall.
http://developer.android.com/tools/publishing/app-signing.html has all he details about signing your app.
I have multiple developers working on a project. When they just run the program and then manually get the APK, our testers have to uninstall and re-install for each different developer that publishes the APK (something about debugging key). So I am wondering, what if I make them all use android tools> export unsigned application package? will that solve the problem?
You should create a new debug keystore for your team and check it in to our project repository. Then have each of them open Eclipse > Preferences > Android > Build and change the "default debug keystore" value to point to this new keystore. That way they all use the same debug keystore and you dont have to worry about signing debug builds yourself.
By default eclipse signs it with the default key which is different for different systems and on any android device if you try to reinstall it without first uninstalling it treats it as an update and it requires the update to be signed with the same key with which installed application is signed so follow what Karakuri suggested and it should solve your problem.
I am working on the In-App tutorial and I am getting an error saying the version is not configured for billing through Google store.
There may be some confusion as to the version being used on my device.
This is my normal process
I have a signed key that has been setup and does work properly
I use Eclipse and I build my app there I build it constantly buy clicking the build icon and if my device is connected it opens on the device I do not sign anything that I know of (which leads to some confusion)
When I want to release the App I export it with the signed key and I have to export signed Application Package in the Android Tools I see when I right click on the App. An .apk file is generated and I upload that to google and everything works.
My question is when I simply run the App on my phone and it comes directly from eclipse what mode is it in
The In-App tutorial says I must be running the signed version on my phone.
Am I doing this automatically when I start it from Eclipse or is it in debug mode.
If it is debug mode how do I make it go into signed mode from Eclipse.
The version I need to upload to google is signed but is set as UNPUBLISHED as stated by the guide in the tutorial so I can not get it from the store.
To test anything that has to interact with the Google store, you need to use the release version of the .apk file. Export it as usual from Eclipse, then use the command line tool to install the release .apk on the device or emulator:
>adb install myApp.apk
If you previously ran on the same device or emulator from within Eclipse, the app will have been signed with the debug cert and you will have to completely uninstall it first. Even the -r switch on the apk install command won't install if the signing certs are different.