Getting Android Google Map v2 working in release version by generating SHA1 fingerprint for API key

后端 未结 2 1308
有刺的猬
有刺的猬 2020-12-19 07:29

I spent a long time tonight trying to figure out how to get my Google Map that worked in the debug version of my Android application to work in the release version. There w

相关标签:
2条回答
  • 2020-12-19 08:16

    1) As specified in a couple other Stack Overflow posts, you can use the same Google API key for both your debug and release versions, but you have to supply the fingerprints of your debug and release keys in the Google Developers Console.

    • Log into Google Developers Console https://console.developers.google.com
    • Choose your appropriate Project
    • On left side, choose Credentials under "APIs & auth"
    • Assuming you already have an API Key generated for Android applications, you should already see your application listed as an "allowed application" with its debug fingerprint. Click "Edit allowed Android applications".
    • You will want to add another line for your application, but with its release fingerprint. To get that...

    2) Google mentions in that dialog that you need to run

    keytool -list -v -keystore mystore.keystore
    

    But by clicking "Learn more" and going a little further, what you really want to run is

    keytool -exportcert -alias MY_RELEASE_KEY_ALIAS -keystore MY_FULL_PATH_TO_RELEASE_KEYSTORE_FILE -list -v
    

    Then you'll be asked for your keystore password. One piece that isn't mentioned in the docs is where the keytool program is. Its in your JDK bin folder. So on Windows, something like C:\Program Files\Java\jdk1.8.0_20\bin

    3) After I opened a console window in the Java bin folder and ran the keytool as above, I was getting an error that said "keystore file exists but is empty". Eventually I realized that when specifying the full path to my release keystore file, I had only specified the folder name but forgot to include the actual file name, even though there was only one file in the folder. So MY_FULL_PATH_TO_RELEASE_KEYSTORE_FILE above should include the .keystore file name

    After all that, you will be finally be provided with several fingerprints, including the SHA1. You can copy that, and go back and paste it as a new line in the allowed Android Applications, with your package name on the end separated by a semi-colon, just like the debug one.

    0 讨论(0)
  • 2020-12-19 08:32

    Follow the instructions given here. After creating your project in Google Developers Console, select APIs, you will be prompted with a section of Popular APIs, select Google Maps Android API. Press enable API.(the image below is showing the steps in the new version of the console) console's new version

    If you're still using the old console, enable the API, by selecting Services, then switch the button ON:

    enter image description here Note: You don't need to enable the API for the debug version!

    If you're map is still not showing try regenerating the key!

    (new version) enter image description here

    (old version)

    enter image description here Enter the new API key then Sync Project with Gradle Files!

    0 讨论(0)
提交回复
热议问题