i have an android application created with some apis such as push notifications, google maps, sms retriever, and some other apis.
when i build the signed apk and i copie it to my phone and i install it directly, everything is fine, the otp sms is automatically detected, the maps is shown and i have no problem.
but when i publish the same file in the store, and i download and install the app, the sms is not automatically detected, and the maps cannot be shown.
i dont know why this can happen, it is the same signed file, why everything is fine when i install it directly and i have these problems when i download it from the store?
normally these problems occur when i use a debug sha1 in production, but no i use a production sha1 which is also the same in the console .. and like i said, the application is signed.
any help please?
Using Play App Signing
If you've published your app using Play App Signing, a requirement when using Android App Bundle, you can get your SHA-1 from the Google Play Console on the Release > Setup > App Integrity page.
Also try this below way may help you
Please Try to get the SHA1 from release keystore using the command prompt and then update this SHA1 to Google map cloud console with package name where you have added debug SHA1
keytool -list -v -keystore keystore_name -alias alias_name
Like on command prompt try this way according to you folder and keytool folder
In Windows
c:\bin> keytool -list -v -keystore D:\Users\project\keystore.jks -alias test1234
In Ubuntu
keytool -list -v -keystore /home/administrator/keystorepath/keystore.jks -alias testalias
Enter keystore password: 123
Related
I am using firebase phone authentication in my app. It works in the run-time apk. But when I generate a signed apk for realese purpose, the phone authentication doesn't work. It says the app validation failed (cf. the image below).
I think you missed to add SHA-1 of Release APK in your firebase project.
In order to get SHA-1 of Release APK,
keytool -list -v -keystore {keystore_name} -alias {alias_name}
For example,
keytool -list -v -keystore /Users/example/Desktop/example.jks -alias example
After you got fingerprint, just enter it in the firebase console like you did before using fingerprint for debug.
I made an Android app that uses Google Maps API to display a map.
When I run it with android studio it works fine. However after I publish it on the play store and download it from there all the maps show up as just grey screens.
I registered a key on google development console with both the debug SHA-1 key, which I got through this command:
keytool -list -v -keystore "%USERPROFILE%.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
And the release SHA-1 key which I got with this command:
keytool -list -v -keystore [my\keystore\path] -alias [releaseAlias] -storepass [storepass] -keypass [keypass]
I've also unzipped my release APK and checked it with this command:
keytool -printcert -file CERT.RSA
And it shows the same SHA-1 key as the release key above.
Am I still getting the SHA-1 key for release incorrectly? Is there another way to get and verify it?
EDIT: I found the problem. It was like the top reply in Android SHA1 release keystore not working with Google Maps said. There were two google_maps_api.xml files, one in debug and one in release and android studio only showed the debug one. Manually editing the release xml to add the key fixe it.
I have an app with maps, and it work well. But after I publish it at google play, the map not display.
Once I've put applications with a map to the store, and everything was fine.
Now I get sha1 for my key, and put it at google developer console, and try all the answers about it.
So I think that something was changed.
Any idea?
Here is the steps how to generate Google Map V2 API Key for Release Mode.
If you work on Windows 7 then
Open your command prompt and go to C:\Program Files (x86)\Java\jre7\bin (Where your JRE installed)
Now generate your own keystore first by using below command
keytool -genkey -v -keystore keystore demokeystore.keystore -alias YouraliasName -keyalg RSA -keysize 2048 -validity 1000000
Now if you see the demokeystore.keystore file is created in C:\Program Files (x86)\Java\jre7\bin folder
Now time to generate SHA-1 by using this demokeystore.keystore by using below command
keytool -list -v -keystore demokeystore.keystore -alias YouraliasName -storepass yourPassword -keypass yourkeyPassword
Now at last step pick up new SHA-1 and generate new API key from console and also add(Register) key in your project manifest.xml
Also built the .apk from the same keystore for play store.
I found the problem.
There is 2 files with google_api_key, one for release and one for debug. I forget to change the one for release...
When i run the application from eclipse it runs perfectly but when i sign the a application with the older play store certificate and then installing the apk on device map doesn't work it shows blank page..
make new key for your app in command line write this command -keytool.exe -v -list - exportcert -alias aliasname - keystore "keystore path"
It's my first time that i use Google API. I use it with my Android App by using the beta google java api client. To test my app in the emulator, i took an API Key access from my google account and all work well. But now, what is the procedure about this API Key access if i want share my app in Google Play ? Do I leave my same Key access in the code or in the app, do i must ask final user to register with his own key acces with his google account ? Thank you for answer.
This is simple steps that u need to follow instead of registering it in the site just register the key in Google play .Here is the link example to follow up also follow up with this SO chat u might get some idea click
You should go this path in terminal (cd Library/Android/sdk/platform-tools/) Mac os, after that you can run command below
Create Debug key
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Create Release Key
keytool -list -v -keystore /Users/macbook16/Documents/AndroidProjects/natural-therapy-android/app/keystore.jks -alias myaliassample
Note : /Users/macbook16/Documents/AndroidProjects/natural-therapy-android/app/keystore.jks this path is my project .jks file path, therefore you should replace your project jks file path, And myaliassample is exampl alias, you should replace the command like of your alias