昨天我在Google Play商店发布了我的应用作为Beta测试版。当我在我的设备上从Eclipse运行它时效果很好,但是当我从Google Play商店下载它时它不起作用。
第一个屏幕是一个Splash Fragment,它显示了Facebook Login按钮,当我点击它时会询问权限,然后它会回到Splash Fragment(它应该隐藏片段)。
我在另一台设备上测试了它,它隐藏了Splash Fragment,进入MainActivity,它告诉我我不在线。
我不会感到不安,为什么当我从Eclipse运行它时它会起作用,但是当我运行从Google Play商店下载的版本时它不起作用。
这是我的清单:
<?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>
答案 0 :(得分:1)
Google地图要求为应用程序签名密钥构建API密钥。这意味着您用于调试(通过Eclipse运行)的Maps API密钥将与Maps API密钥不同,后者将用于从Eclipse导出的应用程序并签名发布到Play商店。您需要做的就是使用与您的应用签名相同的密钥获取更新的Maps API密钥!
另外,请参阅this,了解为已签名包的调试版和发行版创建一个Maps API密钥的方法。
答案 1 :(得分:0)
确保您的应用未处于沙盒模式。