I want to use various Google services in an Android app I am working on, such as Google Maps, Google Directions and Google Geolocation. I have followed the steps described in this link in order to get and Android API Key and I got one. I now try to add something very simple to my app, but it cannot even import package com.google. ... .
My Android.Manifest file is :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="di.uoa.gr.e_commerce" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name = "android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name = "android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<application
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".LoginActivity"
android:label="#string/title_activity_login" >
</activity>
<activity
android:name=".SignupActivity"
android:label="#string/title_activity_register" >
</activity>
<activity
android:name=".InitialActivity"
android:label="#string/title_activity_initial" >
</activity>
<activity
android:name=".AddActivity"
android:label="#string/title_activity_add" >
</activity>
<activity
android:name=".DeleteActivity"
android:label="#string/title_activity_delete" >
</activity>
<activity
android:name=".SeeCartActivity"
android:label="#string/title_activity_see_cart" >
</activity>
<activity
android:name=".ModifyActivity"
android:label="#string/title_activity_modify" >
</activity>
<activity
android:name=".SearchActivity"
android:label="#string/title_activity_search" >
</activity>
<meta-data
android:name="com.google.android.geo.AndroidKey"
android:value="xxx (my key)"/>
</application>
In the file MainActivity.java I try to import :
import com.google.android.gms.maps.GoogleMap;
but google is underlined with red saying :
Cannot resolve symbol Google.
I am sure I am missing something but can't figure out what.
add Library dependancy:
com.google.android.gms:play-services-maps:9.4.0
permissions:
<permission
android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE"
android:protectionLevel="signature"></permission>
<uses-permission
android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE"/>
You can check this site and can add Google maps to your project by single line of code
https://developers.google.com/android/guides/setup
Related
This is my manifest file and I don't know why am I getting this error . Please help me out with this error. Everything is working fine, but the problem is the meta tags inside the applciation tags, if I write them outside the application tags then it crashes the app, and if I write them inside the application tags then I get the error "INSTALL_PARSE_FAILED_MANIFEST_MALFORMED".
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.nadeemahmad.guitest">
<!--Permissions-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<permission android:name="com.example.nadeemahmad.guitest.MAPS.RECIEVE" android:protectionLevel="signature"/>
<uses-permission android:name="com.example.nadeemahmad.guitest.MAPS.RECIEVE"/>
<uses-permission android:name="com.google.android.providers.gsf.permissions.READ_GSERVICES"/>
<uses-feature android:glEsVersion="0x0020000" android:required="true"/>
<application
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:supportsRtl="true"
android:theme="#style/AppTheme">
<activity
android:name=".splash"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:noHistory="true" />
<activity
android:name=".profile"
android:noHistory="true" />
<activity
android:name=".profile_update"
android:noHistory="true" />
<activity
android:name=".sync_contacts"
android:noHistory="true" />
<activity
android:name=".settings"
android:noHistory="true" />
<activity android:name=".synced_contacts_list"></activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="#string/google_android_map_api_key" />
<meta-data android:name="come.google.android.gms.version"/>
</application>
</manifest>
Rectify Your meta-data TAG . It should be com instead of come .
Wrong
<meta-data android:name="come.google.android.gms.version"/>
Perfect
<meta-data android:name="com.google.android.gms.version"/>
After that Clean-Rebuild and Run .
The mobile I am going to talk about is Micromax A63, Android Version 4.2.2
When I was developing my app, I used it as a debug device and it worked fine. All the development is done on the system.
After development, I uploaded the apk to play store and registered as a beta tester. When I see the app in the play store it says "Your device is not compatible with this version"
I have checked the compatible list, interestingly this device is neither in Supported Devices List nor in Unsupported list.
I have the following in my gradle build
minSdkVersion 13
targetSdkVersion 22
The permissions i use in the app are
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
Help me understand what could be the issue.
Complete manifest file is as follows:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ghr.ubietyapp" >
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<application
android:allowBackup="true"
android:icon="#drawable/genie"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<activity
android:name=".splash"
android:label="#string/title_activity_splash"
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ProfileActivity"
android:label="#string/title_activity_profile" >
</activity>
<activity
android:name=".LoginActivity"
android:label="#string/title_activity_login" >
</activity>
<activity
android:name=".RegisterActivity"
android:label="#string/title_activity_register"
android:noHistory="true" >
</activity>
<activity
android:name=".OTPActivity"
android:label="#string/title_activity_otp"
android:noHistory="true" >
</activity>
<activity
android:name=".AttendanceActivity"
android:label="#string/title_activity_attendance" >
</activity>
<activity
android:name=".UploadActivity"
android:label="#string/title_activity_upload" >
</activity>
</application>
</manifest>
thanks.
I am using Android Studio to develop an app which used Camera2 API. I can run the app in Google Nexus 9, however the app is not installed in the device and I cannot access it once I close the app. What am I doing wrong ?
Here is the manifest
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera2.full" />
<uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<application
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<activity
android:name=".MapActivity"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.map" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="#string/app_name" >
<intent-filter>
<action android:name="test.camera.main" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="key"/>
<meta-data
android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
</application>
add the following to your < activity > in your AndroidManifest.xml
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
EDIT: added sample
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mycompany.android.myapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/Theme.AppCompat" >
<activity
android:name=".ActFirst"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ActSecond" >
</activity>
</application>
</manifest>
While running my app, I thought I had the same problem.
The problem in my app was the app_name in the strings file was different that what I thought it is. So Basically I was looking for app "X" while the name i gave is "Y".
Maybe you have the same problem.
I'm trying to create multiple versions of my app for different clients, and have done these steps:
-Duplicate all the folders with a simple copy and paste in the finder,
-Open the project i have just created,
-Changed the package name in the AndroidManifest.xml,
-Refactor all the classes and files that where failing (with the refactor option),
-Clear project and run.
I have been able to instal the 2 apps in the device, but every time I try to run any app the os shows me this:
As you can see I have the 2 app installed and running:
And every time i press a button ask me again:
This is the first AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="epinom.jm.smarthotel"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="16" />
<permission android:name="epinom.jm.smarthotel.maps.googlev2.permission.MAPS_RECEIVE"
android:protectionLevel="signature">
</permission>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="epinom.jm.smarthotel.maps.googlev2.permission.MAPS_RECEIVE"/>
<uses-feature android:glEsVersion="0x00020000"
android:required="true"/>
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/MyTheme" >
<meta-data android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
<meta-data android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyBjg8TtFgJTMuLFyiGlScVuEDNPjJnLxyM"/>
<activity
android:name=".SplashActivity"
android:label="#string/title_activity_home"
android:screenOrientation="portrait"
android:launchMode="singleTask" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".vcMainScreen"
android:label="#string/title_activity_home"
android:screenOrientation="portrait"
android:launchMode="singleTask" >
<intent-filter>
<action android:name="vcMainScreen" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
This is the second AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="goSmart.guestperience.MoncloaDeSanLazaro"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="16" />
<permission android:name="goSmart.guestperience.MoncloaDeSanLazaro.maps.googlev2.permission.MAPS_RECEIVE"
android:protectionLevel="signature">
</permission>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="goSmart.guestperience.MoncloaDeSanLazaro.maps.googlev2.permission.MAPS_RECEIVE"/>
<uses-feature android:glEsVersion="0x00020000"
android:required="true"/>
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/MyTheme" >
<meta-data android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
<meta-data android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyDNqe1PO7pvZLtba_Vu3m5BvmOdJtqhU0M"/>
<activity
android:name=".SplashActivity"
android:label="#string/title_activity_home"
android:screenOrientation="portrait"
android:launchMode="standard" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".vcMainScreen"
android:label="#string/title_activity_home"
android:screenOrientation="portrait"
android:launchMode="standard" >
<intent-filter>
<action android:name="vcMainScreen" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
I'm starting with Android development so please tell me what I'm doing wrong, is there something that I'm missing to configure.
I'm using Eclipse on a Mac.
TO ANWSER THE QUESTION OF #David, this is the code i use to call every new screen:
String IntentName = Util.getController(buttons
.getJSONObject(arg2)
.getString("ViewController"));
Intent intento = new Intent(IntentName);
intento.putExtra(
"jsonConfig",
buttons.getJSONObject(arg2).getString(
"JsonConfigFile"));
intento.putExtra("title", buttons.getJSONObject(arg2)
.getString("Label"));
intento.putExtra("icon", buttons.getJSONObject(arg2)
.getString("ImageIconTitle"));
startActivity(intento);
You have 2 activities with the same name.... in differents AppĀ“s.
Change the name of 1 activity.
Thanks to the comment of Nimish Choudhary and more Google the answer to my problem was that I have to make unique all Activity names for to the 2 Apps.
So in the AndroidManifest.xml I have change all the names of all the Activities, i.e.:
<activity
android:name="app1.vcMainScreen"
android:label="#string/title_activity_home"
android:screenOrientation="portrait"
android:launchMode="standard" >
<intent-filter>
<action android:name="app1.vcMainScreen" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
And I change the return of the switch when I was calling the function:
Util.getController(buttons
.getJSONObject(arg2)
.getString("ViewController")
Now the return is:
switch (Integer.parseInt(num)) {
case 0:
return "app1.vcMainScreen";
default:
return null;
}
I hope this help someone one day.
Thanks to all.
Yesterday I published my app on the Google Play Store as Beta Testing. When I run it from Eclipse on my device it works great, but when I download it from the Google Play Store it doesn't work.
The first screen is an Splash Fragment which shows the Facebook Login button, when I click it it asks for the permissions and then it goes back to the Splash Fragment (It should hide the Fragment).
I tested it on another device and it hides the Splash Fragment, enters to the MainActivity and it tells me that I am not online.
I don't underestand why it does work when I run it from my Eclipse but it doesn't work when I run the version that I download from the Google Play Store.
Here is my Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tokensapp.tokens"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="15" />
<permission
android:name="com.tokensapp.tokens.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.tokensapp.tokens.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.GET_TASKS" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.BLUETOOTH" >
</uses-permission>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:name=".ScrumptiousApplication"
android:icon="#drawable/ic_launcher"
android:label="#string/tokens" >
<uses-library
android:name="com.google.android.maps"
android:required="true" />
<service android:name="com.tokensapp.tokens.NotificationService" />
<activity
android:name="com.apphance.android.LauncherActivity"
android:theme="#android:style/Theme.Translucent.NoTitleBar" >
</activity>
<activity
android:name="com.apphance.android.ui.LoginActivity"
android:launchMode="singleInstance" >
</activity>
<activity
android:name="com.apphance.android.ui.TestCycleActivity"
android:launchMode="singleInstance" >
</activity>
<activity
android:name="com.apphance.android.ui.ProblemActivity"
android:configChanges="orientation"
android:launchMode="singleInstance" >
</activity>
<activity
android:name="com.tokensapp.tokens.ActSplash"
android:label="#string/tokens"
android:noHistory="true"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity
android:name="com.tokensapp.tokens.ActLoginFb"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.ActWelcome"
android:label="#string/tokens"
android:noHistory="true"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.ActMain"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.ActMain2"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity
android:name="com.tokensapp.tokens.ActProfile"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity
android:name="com.tokensapp.tokens.ActCompose"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"
android:windowSoftInputMode="stateAlwaysHidden" />
<activity
android:name="com.tokensapp.tokens.ActViewToken"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.ActSettings"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.ActFriendChooser"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" />
<activity
android:name="com.tokensapp.tokens.BasicMapActivity"
android:label="#string/title_activity_main" />
<receiver android:name="com.tokensapp.tokens.BootReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="#string/maps_key" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="#string/app_id" />
<activity
android:name="com.tokensapp.tokens.ActLoginFb2"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity
android:name="com.facebook.LoginActivity"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity
android:name="com.tokensapp.tokens.MainActivity"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
<intent-filter>
<action android:name="com.apphance.android.LAUNCH" >
</action>
<category android:name="android.intent.category.DEFAULT" >
</category>
</intent-filter>
</activity>
<activity
android:name="PickerActivity"
android:label="#string/app_name" />
<activity
android:name="com.tokensapp.tokens.ActMyTokens"
android:label="#string/tokens"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
</activity>
<activity-alias
android:name=".ApphanceLauncherActivity"
android:targetActivity="com.apphance.android.LauncherActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" >
</action>
<category android:name="android.intent.category.LAUNCHER" >
</category>
</intent-filter>
</activity-alias>
</application>
<instrumentation
android:name="com.apphance.android.ApphanceInstrumentation"
android:targetPackage="com.tokensapp.tokens" >
</instrumentation>
Google Maps requires that the API key be built to the Application Signing Key. That means that the Maps API key you use for debugging (running through Eclipse) will be different than the Maps API key which will work on apps exported from Eclipse and signed to post on the Play Store. All you need to do is get an updated Maps API key using the same key you sign your app with!
Also, see this for a method of creating one Maps API key for both Debug and Release versions of your signed package.
Make sure your facebook app is in live mode.