我有一个已签名的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"/>
答案 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。如果可以选择,我也可以尝试重置设备。