I am trying to do dis more than an hour but unable to find the apt solution.
My app is ready, so i am trying to export it using signed application option in eclipse IDE.
the apk file is getting generated
But the problem is the google map inside map whose API Key was generated using default debug keystore is not working.
So i need to create a new API key by creating a new keystore.
How does it go?
please explain
using your new keystore find the SHA1 key from eclipse and create a new API key for google map.
You don't need another API key anymore, you just have to add the SHA1 finger print of the keystore you use for creating the signed APK to the existing API key:
Supposing you have created your API key in the API Console, go there again and click the 'Edit allowed Android Applications' button below your already existing API Key.
There, add a new line with the SHA1 finger print of the keystore you used to create the signed APK and the package name of your app (it's explained anyways when you hit that button) and you're done.
The Eclipse debug key for signing your application can be found in the userhome/.android/debug.keystore file.
To create the SHA-1 for your debug keystore you use the keytool command from your JDK installation pointing to the debug.keystore file.
keytool -list -v -alias androiddebugkey \
-keystore <path_to_debug_keystore>debug.keystore \
-storepass android -keypass android
Copy the SHA-1 output, as you need this later.
In the console, You need to create a new Android key in pulbic api acccess.
You need to get the SHA1
keytool -list -v -keystore mystore.keystore
You can use this command to get SHA-1 to get Api-Key. Here's link
keytool -list -keystore your_keystore_name
If you don't want to regenerate or re assign the key, then go to Google APi console and Enable the Api-Key for all application either signed or unsigned
Related
I make use of Google Maps Android V2 in my application. When I run my app without signing things are perfect but when I sign my app I cannot see maps. I get lattitude and longitude but I cannot see my maps. All I could see is some blank white space. Please Help. I need to release the project soon..
EDIT
thanks guys i missed the part where I should sign with the app keystore i tried some commands but they didnt work. Tried these
1. C:\Program Files\Java\jdk1.6.0_19\bin>keytool.exe -list -alias compny -keystore
"C:\Users\PC8\Desktop\Sign Key" -storepass compny -keypass compny
and got this error
keytool error: java.lang.Exception: Keystore file exists, but is empty: C:\Users
\PC8\Desktop\Sign Key
2. C:\Program Files\Java\jdk1.6.0_19\bin>keytool -exportcert -alias androiddebugkey
-keystore "C:\Users\PC8\Desktop\Sign Key" -list -v
and got this error
keytool error: java.lang.Exception: Keystore file exists, but is empty: C:\Users
\PC8\Desktop\Sign Key
java.lang.Exception: Keystore file exists, but is empty: C:\Users\PC8\De
sktop\Sign Key
at sun.security.tools.KeyTool.doCommands(KeyTool.java:559)
at sun.security.tools.KeyTool.run(KeyTool.java:172)
at sun.security.tools.KeyTool.main(KeyTool.java:166)
This problem is because of map api key.
You need to sign your app and find .keystore for signed app. Right click on project Android Tools->Export Signed application pachage->next -> create new keystore then use this new keysore to find new SHA1 Now find new API key for your app. And replace the old map API key with this in manifest.
https://developers.google.com/console/help/new/#installedapplications
Next time whenever you want new signed app just use this keystore no need to create new again.
You are now probably trying to work with debug api-key which generated with debug.keystore file. You will have a private keystore file after signing your app. With this keystore file, you should get api-key which is private and named release api-key. Add this api-key to your projects meta-data then it will work.
i have some problem, my app works fine, but when i load it in Play market, maps does not works correctly. I make next:
Get SHA1 keytool -list -v -keystore C:\User\Name/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
In Google console i create API KEY. SHA1;com.kostya.app
Rigth click on project - Android tools - Export signed application packuage
Create new keystore and new *.apk file.
Load it into market.
Where is my mistake? I read this article. Together we can create nice tutorial how to sign app using google maps v2. How to test application at once after loading in play market, without weithing some ours.
When your are creating keystore for creating signed apk you have to do this.
change debug.keystore to your created keystore
change alias name to your project name
set the password the same like in your created keystore (not android as in debug mode)
keytool -list -v -keystore ~/.android/ YOUR_KEYSTORE -alias YOUR_PROJECT_NAME
more help find here
after publishing the app on play store.
on Google Play Console
Goto:
Release Management >App Signing
from "App signing certificate" copy SHA1 and paste it on Google cloud platform API console.
You have to create a production keystore, you should not use the debug.keystore.
Check out the documentation.
Just Add the apikey to debug>res>values>google_maps_api.xml
add in release>res>values>google_maps_api.xml files.
Just generate SHA1 using
keytool -list -v -keystore mystore.keystore
go and add the package name and SHA1 fingerprint to the already generated
I used Android studio to generate the release keystore. After tried many ways for two days I finally got this to work. The problem is that when generating signed APK in Android Studio either by choosing the existing keystore or creating a new one, the default format for the keystore file is ".jks". That is the problem. After I changed that to ".keystore" and generated the release apk, and then copied the SHA1 into google console. The map can finally be showing.
I'm creating Google map application i get my key from cmd using this command and get key from Google console ant tested in mobile is work fine but when i create apk and execution mobile is not show any map if i run directly application from eclipse to mobile is show map whats wrong in my sign in method? what keys i write when making apk
C:\Program Files\Java\jdk1.7.0_21\bin>keytool -list -v -keystore "C:\Users\S-tek
\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass and
roid
You need to use the same key as signing keystore instead of android default keys for getting map api keys .
For example: you are using xyz.keystore file to sign your application then instead of debug.keystore put the path and password of xyz.keystore file to generate the Map api keys.
to sign your apk
first have some tips from official site of android :
http://developer.android.com/tools/publishing/app-signing.html
My Android app works fine on device without signing but Once I export signed apk file maps no more render
Do we need to create new API key for release even with V2 if yes please suggest any link that I should follow to create release API key
You don't need a separate API key for your release signing key. The only thing you need to do, is adding SHA of release key on APIs Console, so you have two lines there instead of one:
D3:49:EF:3D:0E:...:D5:5F:59:46:11:C1:85;pl.mg6.android.maps.extensions.demo
C1:3A:96:3E:F8:...:4D:F1:52:77:D0:01:0E;pl.mg6.android.maps.extensions.demo
#MaciejGórski is correct. Below is small details to it.
In the Google Api console, where we have created the API KEY we have an option to add multiple finger prints to the same key. What I did was adding two SHA1 finger print for my debug keystore and release keystore and the same API key worked for me.
Note the below is for Ubuntu specifically:
Get SHA1 for the debug using the below command
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
For getting SHA1 for release the command changes to
keytool -list -v -keystore /home/atul/Desktop/Learnings/Projects/TestApp/keystore.jks -alias test -storepass password -keypass password
where
/home/atul/Desktop/Learnings/Projects/TestApp/keystore.jks is the path where my keystore file for the signed apk is present
test is the key alias name used while genrating the signed key store
and password is the password used while signing the apk
Hope this helps. Happy coding :)
make sure that you have release key in your "google_maps_api.xml" file in release folder,
Go to you app > app > src > release > res > values > google_maps_api.xml
and put your generated key in "google_maps_key" string .
somthing like this:
AIzaSyC3I-3mVulW2TNw_vmil_wGdNj11w5rrFg
its work for me :)
How to get google maps APIs key.I am running eclipse on Ubuntu and the path /home/tom/eclipse and android is in /home/tom/android or is it that the i need to register somewhere to get the key.Please let me know..
To get the map keys, follow the below steps:
Go To your .android folder in the home directory of the user that have installed the sdk.
Then locate the debug.keystore file.
In command line use the below command to get the SHA1 fingerprint from debug.keystore file.
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Then copy the SHA1 fingerprint.Go to Googles developer console and create a new project, and there click on credentials. Then create new key. Create new android Key.
Here put your SHA1 fingerprint;your package name.
Then you will get the map key.
And dont forget to switch on the Google map Android V2 to ON in the Google dev console.
I hope this helps.