-1

地图仅显示平铺视图。发布更新版本后地图不可见。

以下是发布到生产时清单文件版本控制更改的详细信息。

当我第一次发布生产版本时

versionCode = "1"
versionName = "1.0"

地图工作正常。

但是,当我最近更新生产版本时,keystore该应用程序没有显示地图。

versionCode = "2"
versionName = "1.1"

当我尝试调试应用程序时,我收到以下错误报告:

04-10 02:55:24.935: W/System.err(8509): IOException processing: 26
04-10 02:55:24.935: W/System.err(8509): java.io.IOException: Server returned: 3
04-10 02:55:24.940: W/System.err(8509):     at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
04-10 02:55:24.940: W/System.err(8509):     at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
04-10 02:55:24.940: W/System.err(8509):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
04-10 02:55:24.945: W/System.err(8509):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
04-10 02:55:24.945: W/System.err(8509):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
04-10 02:55:24.945: W/System.err(8509):     at java.lang.Thread.run(Thread.java:856)
4

3 回答 3

0

熔岩。有许多权限和其他组件是必需的,我假设更改版本也会影响应用程序是否符合您在创建此权限所依赖的 API 项目时在 Google 创建的列表。

例如…….apk 文件中生成的密钥不会更改,但是……如果您更改了包名称,则必须将其添加到 Google 的 API 项目中。我有三个包都使用相同的调试密钥签名并使用相同的 API 密钥。您将限定的包名称附加到 SHA-1 密钥的末尾,以使该包能够使用相同的 API 密钥。

这是我的清单的样子,少了我的应用程序的细节......我使用的是 MapFragment 而不是 MapView......

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package.name"
    android:versionCode="1"
    android:versionName="1.0" >

    <permission android:name="your.package.name.permission.MAPS_RECEIVE"
                android:protectionLevel="signature" />

    <uses-permission android:name="your.package.name.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <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.ACCESS_FINE_LOCATION" />

    <uses-feature android:glEsVersion="0x00020000"
                  android:required="true" />

    <uses-sdk
        android:minSdkVersion="12"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="your.package.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>
        <meta-data android:name="com.google.android.maps.v2.API_KEY"
                   android:value="your API KEY" />
    </application>

</manifest>
于 2013-04-24T16:40:54.290 回答
0

请试试:

     <uses-permission android:name="android.permission.INTERNET" />


       outside<application></application>
  • 将您的发布密钥复制到某处更改密钥库密码/密钥

  • 密码和密钥别名按照此处的说明将
    Eclipse 的首选项 -> Android -> 构建 -> 自定义密钥库设置更改为步骤 1 中文件的路径。

完毕!

于 2013-04-11T06:34:26.437 回答
0

您使用的是默认的 api 密钥吗?

使用您的证书获取 API 密钥。

于 2013-04-11T06:05:59.123 回答