You know, I'm really disappointed right now. I spent the last 5 months making this app, from design to coding a..z and now I'm this close: my app supports 0 devices.
Then I spent almost 24 hours already trying to figure out what the heck is going on and still couldn't get it working. I need help.
p.s: The "Localizations: default+49 languages" field: in my app I only have English with the default values/strings.xml but I don't mind users in other languages on their phone will see my app in English.
UPDATE: Found and added my clarified answer, however the accepted answer got me going the right way. So thank you.
Here is what I got:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="xxxxxxxxxxx"
android:versionCode="2"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.CAMERA" />
<uses-feature android:name="android.hardware.camera.AUTOFOCUS" />
<application
android:hardwareAccelerated="true"
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/Holo.Theme"
android:name="org.holoeverywhere.app.Application">
<!-- Blank Activity -->
<activity
android:name=".BlankActivity"
android:label="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Access Activity -->
<activity
android:name=".AccessActivity"
android:label="#string/title_activity_access"
android:screenOrientation="portrait">
</activity>
<!-- Register Activity -->
<activity
android:name=".RegisterActivity"
android:screenOrientation="portrait"
android:label="#string/lbActRegister">
</activity>
<!-- Login Activity -->
<activity
android:name=".LoginActivity"
android:screenOrientation="portrait"
android:label="#string/lbActLogin">
</activity>
<!-- Recovery Activity -->
<activity
android:name=".RecoveryActivity"
android:screenOrientation="portrait"
android:label="#string/lbActRecovery">
</activity>
<!-- Dashboard Activity -->
<activity
android:name=".DashboardActivity"
android:label="#string/app_name"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden|screenSize">
</activity>
<!-- Edit Profile Activity -->
<activity
android:name=".EditProfileActivity"
android:screenOrientation="portrait"
android:label="#string/lbActEditProfile">
</activity>
<!-- Feedback Activity -->
<activity
android:name=".FeedbackActivity"
android:screenOrientation="portrait"
android:label="#string/lbActFeedback">
</activity>
<!-- TOSU Activity -->
<activity
android:name=".TOSUActivity"
android:screenOrientation="portrait"
android:label="#string/lbActTerms">
</activity>
<!-- About Activity -->
<activity
android:name=".AboutActivity"
android:screenOrientation="portrait"
android:label="#string/lbActAbout">
</activity>
<!-- Donation Activity -->
<activity
android:name=".DonationActivity"
android:screenOrientation="portrait"
android:label="#string/lbActDonation">
</activity>
<!-- Image Upload Activity -->
<activity
android:name=".photo.ImageUploadActivity"
android:screenOrientation="portrait"
android:label="#string/lbActUpload"
android:configChanges="orientation|keyboardHidden|screenSize">
</activity>
<!-- Me Detail Activity -->
<activity
android:name=".photo.MeDetailActivity"
android:label="#string/lbActCollection"
android:parentActivityName=".DashboardActivity"
android:configChanges="orientation|keyboardHidden|screenSize">
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".DashboardActivity" />
</activity>
<!-- Explore Detail Activity -->
<activity
android:name=".photo.ExploreDetailActivity"
android:label="#string/lbActExplore"
android:parentActivityName=".DashboardActivity"
android:uiOptions="splitActionBarWhenNarrow"
android:configChanges="orientation|keyboardHidden|screenSize">
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".DashboardActivity" />
</activity>
<!-- Liked Detail Activity -->
<activity
android:name=".photo.LikedDetailActivity"
android:label="#string/lbActLikes"
android:parentActivityName=".DashboardActivity"
android:configChanges="orientation|keyboardHidden|screenSize">
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".DashboardActivity" />
</activity>
</application>
</manifest>
Try to change android.hardware.CAMERA with android.hardware.camera. Then
For any of the permissions below, you can disable filtering based on
the implied feature by explicitly declaring the implied feature
explicitly, in a element, with an
android:required="false" attribute.
And according to the permissions features, you didn't add the feature android.hardware.camera.autofocus.
So add this feature or change your camera permission with :
<uses-feature android:name="android.hardware.camera" android:required="false" />
Hope it works :)
Related
I am getting multiple applications(with the same name) while installing this application, if I uninstall one other one gets deleted, in the beginning, the count was three but after making changes the count is two, now I want only single app ....how do ideal with this?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mypc.panjabisamajapp">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:roundIcon="#mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="#style/AppTheme">
<activity android:name=".MainActivity" />
<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".GirlsBoys">
</activity>
<activity android:name=".RegistrationForm" />
<activity android:name=".UploadPhoto" />
<activity android:name=".PopupOccupation" />
<activity android:name=".ContactDetailsForm" />
<activity android:name=".ParticularsForm" />
<activity android:name=".UserProfile" />
<activity android:name=".DisplayCardResult" />
<activity android:name=".ZoomImage" />
<activity android:name=".MenuActivity" />
<activity android:name="com.example.mypc.panjabisamajapp.MailBox"></activity>
<activity android:name=".ChatWindow" />
<activity android:name=".EditPProfile" />
<activity android:name=".UpdateDetails">
</activity>
<meta-data
android:name="preloaded_fonts"
android:resource="#array/preloaded_fonts" />
</application>
If the app names are the same the reason can be using multiple launcher intent in your manifest file. Check your merged manifest file instead of application manifest file.
i think u must have used this intent filter twice in multiple activities.check your manifest file
I created a custom launcher and set it to default launcher for my tablet. but when I open an application and then press Back button I will go to the last launcher(Default launcher of Samsung) although I setup my launcher as default before!
This is my launcher manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="launcher.base.app.ehsan.com.minelauncher">
<!-- To access internet -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- To auto-complete the email text field in the login form with the JSON's emails -->
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_PROFILE"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<application
android:name=".tools.G"
android:allowBackup="true"
android:icon="#mipmap/logo"
android:label="#string/app_name"
android:supportsRtl="false"
android:theme="#style/AppTheme">
<activity android:name=".activity.MainActivity">
</activity>
<activity
android:name=".activity.LoginActivity"
android:label="#string/title_activity_login"
android:theme="#android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
android:stateNotNeeded="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".activity.ForgetActivity"
android:screenOrientation="sensorLandscape"
>
</activity>
<activity
android:name=".activity.RecoveryActivity"
android:screenOrientation="sensorLandscape"
>
</activity>
<service
android:name=".APIService.InternetService"
android:enabled="true"
android:exported="true"/>
</application>
</manifest>
Thank you for Your answers.
I'm having trouble with the Google Play store that insists that my app is supported by 0 devices.
I've tested my app on different devices and it works very well, there's no reason for it to be incompatible with every single Android device.
Thanks in advance
This is my manifest file:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.company.nameapp">
<!-- PERMISSION TO USE CAMERA -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera2" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- ACTIVITY -->
<application
android:allowBackup="true"
android:icon="#drawable/icon_flash"
android:label="#string/app_name"
android:supportsRtl="true"
android:theme="#style/AppTheme"
tools:replace="android:theme">
<!-- SPLASH SCREEN -->
<activity
android:name=".SplashScreen"
android:label="#string/app_name"
android:theme="#android:style/Theme.Black.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- MAIN ACTIVITY-->
<activity android:name=".MainActivity"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.Black.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- CAMERA -->
<activity android:name="com.desmond.squarecamera.CameraActivity" />
<activity android:name=".credits"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.Black.NoTitleBar">
</activity>
</application>
</manifest>
The 4 features being
android.hardware.CAMERA
android.hardware.CAMERA2
android.hardware.FAKETOUCH
android.hardware.PORTRAIT
And 3 permissions
android.permission.CAMERA
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Google Play Resume
Looking at https://github.com/googlesamples/android-Camera2Basic/blob/master/Application/src/main/AndroidManifest.xml I'm pretty sure <uses-feature android:name="android.hardware.camera2" /> is not really a thing. Try changing it to <uses-feature android:name="android.hardware.camera" /> or remove it.
I'm using Google Maps in my Android app and I'm seeing the following message on some older devices:
I understand the nature of this message and that updating will resolve this issue.
However I would like to avoid users seeing this all together, and just want the map to load on all devices.
Here's what my dependencies look like:
Please note that I added individual parts of Google Play services that I needed rather than the full library as I started receiving an error from Android Studio about too many lines of code - this was the work around as I just have to many libraries as it seems.
Manifest:
<?xml version="1.0" encoding="utf-8"?>
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.android.vending.BILLING" />
<!-- Creating Permission to receive Google Maps -->
<permission android:name="com.xyzapp.it.supportmapfragment.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
<!-- Permission to receive Google Maps -->
<uses-permission android:name="com.xyzapp.it.supportmapfragment.permission.MAPS_RECEIVE"/>
<!-- Permission to read Google Services -->
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!--Maps API needs OpenGL ES 2.0. -->
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
<supports-screens
android:anyDensity="true"
android:resizeable="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<application
android:name=".xyzappitApp"
android:hardwareAccelerated="true"
android:icon="#drawable/app_icon"
android:label="#string/app_name"
android:theme="#style/AppBaseTheme" android:largeHeap="true" >
<activity android:name=".SplashActivity" android:screenOrientation="portrait" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".TabHostActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:icon="#drawable/app_icon" android:exported="true" />
<activity android:name=".StatusActivity" android:screenOrientation="portrait" />
<activity android:name=".StatusDetailsActivity" android:screenOrientation="portrait" />
<activity android:name=".MyAlertsActivity" android:screenOrientation="portrait" />
<activity android:name=".AlertLinesActivity" android:screenOrientation="portrait" />
<activity android:name=".AlertDetailsActivity" android:screenOrientation="portrait" />
<activity android:name=".PreferencesActivity" android:screenOrientation="portrait" android:theme="#style/ActionBarStyle" />
<activity android:name=".RouteListActivity" android:screenOrientation="portrait" />
<activity android:name=".StopListActivity" android:screenOrientation="portrait" />
<activity android:name=".StopTimesActivity" android:screenOrientation="portrait" />
<activity android:name=".UpgradeActivity" android:screenOrientation="portrait" />
<activity android:name=".TransfersActivity" android:screenOrientation="portrait" />
<activity android:name=".TransfersDetailsActivity" android:theme="#style/MyDialog" android:screenOrientation="portrait" />
<activity android:name=".ShareActivity" android:theme="#style/MyDialog" android:screenOrientation="portrait" />
<activity android:name=".ShareDetailsActivity" android:theme="#style/MyDialog" android:screenOrientation="portrait" />
<activity android:name=".MapActivity" android:configChanges="orientation|keyboardHidden" />
<activity
android:name="com.mopub.mobileads.MoPubActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
<activity
android:name="com.mopub.mobileads.MraidActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
<activity
android:name="com.mopub.common.MoPubBrowser"
android:configChanges="keyboardHidden|orientation|screenSize" />
<activity
android:name="com.mopub.mobileads.MraidVideoPlayerActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
<service android:name=".Service.NotificationService" />
<receiver android:name="com.xyzapp.it.Receiver.MyAlarmReceiver" />
<receiver android:name="com.xyzapp.it.Receiver.ConnectionChangedReceiver" android:exported="false">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
<receiver android:name="com.xyzapp.it.Receiver.BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<uses-library android:name="com.google.android.maps" />
<meta-data android:name="com.crashlytics.ApiKey" android:value="123456" />
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="123456" />
<meta-data android:name="com.google.android.gms.version" android:value="#integer/google_play_services_version" />
<meta-data android:name="com.google.android.gms.analytics.globalConfigResource" android:resource="#xml/global_tracker" />
</application>
Ideally I would like to know how to have the map just load and not force the user to update as my minSDK=10 and the app supports Android 2.3 devices and up.
Even if that means targeting a lower version of Google Play services to support SDK 10+ I'm ok with that solution.
Thanks!
However I would like to avoid users seeing this all together, and just want the map to load on all devices.
Then don't use Maps V2. Instead, use some other mapping solution (e.g., Open Street Map).
Otherwise, there is no "magic" dependency that will avoid this dialog on all devices. While you are welcome to use some older version of that play-services-maps dependency, there is no guarantee that ~1.5 billion devices will all support that particular version of the Play Services engine without any updates.
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.