Google Maps API v2 Android ...空白屏幕&没针

时间:2013-12-23 17:12:07

标签: android api google-maps

我有一个已签名的Android APK,可以在Android 4.0.4上完美运行,但不会在Android 4.2.2上显示地图。

根据许多网站的说法,通常空白地图是由Google API的密钥身份验证问题引起的,但我认为我可以将其排除在外,因为它在4.0.4上运行正常。

任何人都可以提出我可以调查的其他内容吗?

由于

更新 - 我可以将应用程序从Eclipse运行到运行Android 4.0.4的设备上,并且地图可以正常运行。当我在同一Eclipse环境中运行相同的应用程序到运行Android 4.4的设备时,地图将不会显示,我在logcat中收到以下消息...

============== Start of Logcat ===========================

12-23 23:17:20.744: D/dalvikvm(15675): GC_FOR_ALLOC freed 627K, 10% free 9473K/10516K, paused 40ms, total 42ms

12-23 23:17:20.904: D/dalvikvm(15675): GC_FOR_ALLOC freed 469K, 11% free 9462K/10516K, paused 85ms, total 85ms

12-23 23:17:21.034: D/dalvikvm(15675): GC_FOR_ALLOC freed 480K, 10% free 9479K/10516K, paused 65ms, total 65ms

**12-23 23:17:47.484: I/HostnameVerifier- checkServerTrusted(15675): CertificateException - clients4.google.com - java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.**

12-23 23:18:17.654: D/dalvikvm(15675): GC_FOR_ALLOC freed 599K, 10% free 9496K/10516K, paused 22ms, total 22ms

12-23 23:18:17.664: I/HostnameVerifier- checkServerTrusted(15675): CertificateException - clients4.google.com - java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

12-23 23:18:47.774: I/HostnameVerifier- checkServerTrusted(15675): CertificateException - clients4.google.com - java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

============== End of Logcat ===========================

更新 - 清单文件的权限......

<permission android:name="uk.co.bluefinsoftware.fusionmobile.permission.MAPS_RECEIVE"
                android:protectionLevel="signature"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="uk.co.bluefinsoftware.fusionmobile.permission.MAPS_RECEIVE"/>

3 个答案:

答案 0 :(得分:0)

前段时间不是,但现在

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

AndroidManifest.xml标记下<application>的必填字段。

当然,仔细检查每一步(我想你至少已经做过一次),因为这种微小的变化有时会成为关键。

希望这有帮助。

答案 1 :(得分:0)

你有什么问题我不知道,但我认为你会一步一步地再次按照下面的链接,然后你可能会确定成功。

https://developers.google.com/maps/documentation/android/start

答案 2 :(得分:0)

看起来这可能不是您的地图设置的问题,而是您的设备配置。根据我的研究,这个CertException似乎主要是由于尝试使用https引起的,你是否试图建立一个被拒绝的连接?另外,clients4.google.com是什么?

我会尝试验证您的应用无法在其他4.4设备上运行,如果您有可用设备,还要检查设备的设置,例如Security-&gt; Trusted Credentials。如果可以选择,我也可以尝试重置设备。