Is there a way I can provide the signed key to the builder and let the app build and install onto my device using the signed key directly? or I have to export the app manually and choose the key, enter the password, and then install it on my device manually?
So simply the question is: is there a way to use signed key while building app in eclipse (Which automatically installs it on device)?
Please notice: I'm not asking asking about how to debug it, I just need to run it directly from eclipse to device with signed key.
I have never done it but according to the docs you can. You have to configure it to run that way by giving it a path to the keystore and the password. But it looks like once you get it set up then it will be easy and do what you need.
Run in release mode
Here is also a SO post about it.
Related
When I run my app in Eclipse, Google Play Services works normal. But when I export signed application package and install myapp.apk to my phone, app display error The app is incorectly configured....
This is probably because of a directory change, your phone can't find the proper files to launch the app anymore. Try to re-install the app, this will set the right paths and should solve your problems.
Try by updating your device's "Google Play Services". It may help you.
You may try checking copy to my project/workspace option when import google-pay-services-lib in eclipse.
Did you create an OAuth Client ID with the certificate fingerprint from the key that you use for signing the exported application?
Maybe you created one for the debug key (which is the key Eclipse uses when launching the app), but forgot to create and link another one for your release key.
You can find detailed information here: https://developers.google.com/games/services/console/enabling#step_3_generate_an_oauth_20_client_id
After you created the second client ID át the google api console, linking it to the game is not so trivial: you have to link the already linked app again, and you will see that this time it will show the second client ID.
Good luck.
I am building a launcher application that I would like to update over the air. I created a service class that successfully checks and compares App version numbers to determine whether an update is needed. If the compared apk version is higher than current version, I download the apk from my cloud server, and then bring up a dialog to install it.
The conflict I am facing is that the update will not install. I receive an error "An existing package by the same name with a conflicting signature is already installed". I am beginning to wonder if my methodology is correct. How can I resolve this? Here is what I am doing.
Once an update is confirmed, I display a dialog and on press of the confirmation button I use an Intent to parse the app URL
Intent i = new Intent(Intent.ACTION_VIEW);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setData(Uri.parse(appUrl));
startActivity(i);
finish();
This actually posts a notification that I have to click and press install on. Once I do, it attempts to install, but then gives me the error on conflicting signatures.
Ideally, I just want it to install without having to see the notification. Thank you in advance.
You need not necessarily use Playstore or any other app hosting service to manage your application upgrades. Your users should enable: Install from un-identified sources (on their android handset)
For auto-upgrade you must release all your APK's with the same Signature. If you just build and run the application from Eclipse, the APK file generated in DIST folder is signed with Debug key (the default key of each machine)
Now if you build the same Code from different machine, the debug key values will be different and you would get the error: "An existing package by the same name with a conflicting signature is already installed" while installing the new APK
Here are a few solutions to it:
Always release the APK for auto-upgrade from same machine (this is definitely impossible)
Sign all the APK's with same signature. In Eclipse: Right click on project > Android Tools > Export Signed Application Package
You are setting it up almost correctly, but you should also set the data type:
i.setType("application/vnd.android.package-archive")
Additionally, do not call finish() after startActivity(). It is not necessary and might cause issues with the new Intent.
Your signature conflict is another problem. See this answer. The APK you are trying to install is signed with a different key that the currently installed one.
Finally, there is no way to install an APK without the user's explicit interaction (unless you have root, of course). This is intention for security reasons.
I have seen the "same signature" error when deploying directly from Android Debug Bridge. I am thinking you will not be successful in this approach, because:
Android security always requires user authorization to install updates (unless you are rooted, or are part of the system like Google Play Store auto-update.
Google play always has to kill the running process to update it. This probably will be ok if you service and the application are actually separate installations (i.e. two apks).
The same signature error I received in ADB is usually when the system is requiring me to completely uninstall the original signature application. Two applications with the same signature cannot be installed concurrently; something is triggering Android to not perform an 'upgrade' of the same package.
Here are the allowable ways to perform an upgrade:
Is there a way to automatically update application on Android?
I have been able to successfully develop an application that uses Facebook SSO with a debug key. When I released the app for testing the Facebook SSO no longer works. I need a new Facebook Key that is not a debug key. My problem is, I do not know how to generate it. Any help would be much appreciated.
I am using windows 7 and eclipse.
Here is what you do to create a new key and to sign your app for distribution.
1) Right-click on your project in the Package Explorer section of Eclipse and select Android Tools > Export Signed Application Package...
2) Go through the wizard, make sure your project is selected as the one to export
3) Next step is to create a new keystore. Specify the path and what you want the password to be
4) You can change the alias if you want, but default is "android" which is sufficient. Set a password for this alias, set the validity of this key (between 0-1000 years), and at least your first and last name. You can also add any other details you want associated with this key (not required, however).
5) Finish the procedure by specifying the path to where you want to export your APK to be. Press Finish, Eclipse will take a while to package your app. Once it's done, you'll have your new key at the path you specified, as well as an APK file signed by that new key.
Let me know if that helps!
I had submitted an application to Google play store that is running on the real server.
On the other hand, I am still improving the application with a fake server. The reason of having 2 server is because all data in the fake server will not affect the real server.
Whenever I want to do demonstration with the real server, I have to uninstall the test app and download the real app on Google play stall. After the demonstration, I have to uninstall the real app and then install my test app on the android phone. It is kind of troublesome after doing this more than 2 times a day.
Is there any way I can install both the test and the real app on the same phone?
I tried to rename my package name. But I found the refactor function in eclipse not a clean renaming. I have to manually rename some of the file and this take up a lot of time.
Just wondering if there is any other better way to do it. It would be good if there are some suggestion that I can try.
Replace your debug key with your production key and set the appropriate passwords to allow the signing. This way Android will let you update/overwrite the old version.
In Eclipse, select Window --> Preferences--> Android --> Build
You can have your keystore pointed here
However, your key store must use the same profile name and password as the default key store.
I saved my project.apk file, and I was reading this document: http://developer.android.com/guide/publishing/app-signing.html#setup and they kind of skip over the details of how to actually obtain a release key.
Is there a site that just generates this key for me? Does Goolge app store have to know about the key too? I am confused :)
Thanks,
Alex
Scroll down to "Signing in Release Mode"
You can create a self-singed certificate, or use a signing authority. I expect most people use a self-signed cert.
DO NOT LOSE that cert or you will not be able to make updates to your app.
And the easies way for signing is using Eclipse and ADT.
You just right click on your project folder and select:
Android Tools>Export Signed Application Package