9

我的应用程序已经在 google play 中使用 map v1。现在我修复了一个与地图无关的错误,并尝试在 google play 中更新版本。从 google play 下载新版本,发现地图显示空白图块。

我使用了正确的证书,因为我的版本更新在 google play 上是成功的。我使用了相同的地图 api 密钥,因为我解压缩了 apk 并比较了以前版本和新版本之间布局文件夹中的几个 xml 中找到的密钥。

谷歌表示,现有的 v1 密钥将继续有效。

可能是什么问题呢?有人可以帮忙吗?

谢谢。

4

5 回答 5

2

我最近(2 周前)更新了一个使用 android maps v1 api 并且没有问题的应用程序。可能你在代码中搞砸了一些东西。

  1. 在开发您的应用程序时,它是否与开发人员的地图键一起使用?
  2. 您是否在 google api 控制台中进行了任何更改?
  3. 您是否尝试切换到旧的 apk?
  4. 您是否尝试回滚更改并重新部署?
于 2013-04-17T14:19:46.853 回答
0

兄弟,自 2013 年 3 月 18 日起,Google Maps api v1 已被弃用。因此,您必须使用新的 Google api v2 版本更新您的应用程序。对于 Google Map Api v2,请访问以下链接 https://developers.google.com/maps/documentation/android/

于 2013-04-24T11:32:08.553 回答
0

我会给你一个不同的清单:

  1. 确保上传到 Google Play 的 apk 使用与以前相同的密钥进行签名(未签名的应用程序将阻止地图工作)
  2. 确保 API 密钥设置为实时密钥而不是开发密钥。就我个人而言,我通常在我的 layout.xml 文件中都有两个,然后只注释掉我不需要的那个
于 2013-04-24T01:33:30.957 回答
0

我已经处理了谷歌地图 API v1,最近我改用了 API V2。我怀疑你的 SDK 可能已经更新并在某个地方搞砸了。你的文件是否有包导入看起来像

“com.google.amdroid.gms.maps.*”还是“com.google.android.maps.*”?我想你可能想确定这一点。前者是V2,后者是V1。

也试试 No.3 ,从上面的答案你会知道你的 API 密钥在发布版本中是否仍然有效。

于 2013-04-24T00:20:32.063 回答
-4

制作 Google Map API 版本 2 的步骤

1)为您的签名密钥创建 SHA-1。

用于签署应用程序的 Eclipse 调试密钥可以在 userhome/.android/debug.keystore 文件中找到。例如)C:\Users\nil pc43.android\debug.keystore

    ----->  C:\Program Files\Java\jdk1.7.0_01\bin\keytool.exe -v -list -alias androiddebugkey -keystore "C:\Users\Info 1234\.android\debug.keystore" -storepass     
android -keypass android


    Example)
        C:\Program Files\Java\jdk1.7.0_01\bin>keytool.exe -v -list -alias androiddebugkey -keystore "c:\Users\nil pc43\.android\deb
        ug.keystore" -storepass android -keypass android
        Alias name: androiddebugkey
        Creation date: Apr 4, 2013
        Entry type: PrivateKeyEntry
        Certificate chain length: 1
        Certificate[1]:
        Owner: CN=Android Debug, O=Android, C=US
        Issuer: CN=Android Debug, O=Android, C=US
        Serial number: 4a5b5c6d
                Valid from: Thu Apr 04 18:33:13 IST 2013 until: Sat Mar 28 18:33:13 IST 2043
        Certificate fingerprints:
                 MD5:  51:CE:5C:07:05:31:98:6A:D5:7C:24:B1:B3:EC:22:A3
                 SHA1: B2:68:A7:D6:3A:FC:8F:15:8D:3E:1F:4A:E8:99:CE:8D:F5:28:07:4D
                 SHA256: 5B:5B:FE:7B:92:7F:06:53:1E:28:BB:D0:E5:CB:05:46:B0:81:76:CC:61:87:97:FA:19:68:B6:C1:08:E8:D6:D9
                 Signature algorithm name: SHA256withRSA
                 Version: 3

2)在 Google APIs 控制台注册

-----> https://code.google.com/apis/console/
     ----> Go to Services 
Then Activate(ON) the Google Maps Android API v2. 

3)为您的应用程序创建密钥

-----> sELECT  API ACCESS
    **You need later to register your application via its package in this console together
    with the SHA-1 fingerprint of your signature key. For this you  select the entry and
    click on the API Access entry. Afterwards click on the Create new Android key...entry.**

-----> Click on "Create New Android KEY"
-----> Enter your SHA-1 fingerprint and the package of your application separated by a semicolon. 

       For example you can use the com.example.mymaps package. (your SHA-1 key;package Name)

4)根据以下链接更改您的 Manifist.xml 和 JAVA 文件

-----> please Reffer this Link
http://www.vogella.com/articles/AndroidGoogleMaps/article.html

5) 现在为您的项目创建新的 KeyStore 文件和 APK 文件。

----->C:\Program Files\Java\jdk1.7.0_01\bin>keytool -list -alias "your alias name" -keystore  "path that have keystor file of yor application"
    Enter keystore password: <pasword of your keystore>
    mapExample, Apr 18, 2013, PrivateKeyEntry,
    Certificate fingerprint (SHA1): 71:EF:B0:6A:A8:BG:E5:61:E9:23:D0:F2:1E:9D:D0:6F:A4:70:0F:A9

-----> Now you have new SHA-1 KEY 
-----> With this SHA-1 KEY, Follow the Step no 4

6)现在您将获得新的谷歌地图 API KEY

Now use this key in to Manifeast.xml file (AS SHOWN IN STEM NO 4)

<meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="NEW GOOGLE MAP API KEY" />

7)现在使用现有的密钥库创建您应用程序的新 APK 文件。

直接从调试中运行时它不会运行..您必须每次都签署apk ...然后在它工作之后

于 2013-04-18T17:21:29.750 回答