0

我正在尝试让谷歌地图正常工作。它不显示地图。我在 LogCat 中收到以下错误

Couldn't get connection factory client

我已经浏览了所有重复的帖子,并进行了以下更改

  • 确保 uses-permission 和 uses-library 在标签内
  • 使用 debug.keystore 而不是 custom
  • 使用我的私钥注册了谷歌地图,并使用 xml 中的地图密钥更新了我的 MapView(对于这个公开帖子,我已经更改了它)
  • 导出我的应用程序,并使用 debug.keystore 构建它

我在模拟器上运行它。模拟器上的地图工作。

安卓清单

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <uses-library android:name="com.google.android.maps" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <activity
        android:name=".MyActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".GetLocation" android:label="@string/app_name"/>
</application>

位置.xml

<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:apiKey="0psLgKtDQLB35-XJXUrjR4bKHIBDRuHu-O-xVhg"
    android:id="@+id/location"
/>

sudo keytool -list -alias androiddebugkey -storepass android -keypass android -keystore     debug.keystore 

返回

androiddebugkey, 20 Mar, 2012, PrivateKeyEntry, 
Certificate fingerprint (MD5): 20:D3:54:D9:F8:70:17:A4:BA:21:5C:98:88:27:45:E0

修复了我将 uses-permission 放在 Application 标签之外,并将 uses-library 放在 Application 标签内

4

2 回答 2

1

uses-permission<application>标签外。和

无法获取连接工厂客户端

以及它的 map-api key 问题。你应该创建 Fresh Map-api key 。

于 2012-05-12T10:18:36.533 回答
0

我相信你可能已经得到了这个问题的解决方案,但是对于其他寻求相同问题帮助的人来说,这里是 ans

试着放

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

在您的应用程序标签之外

<uses-library android:name="com.google.android.maps" />在标签内

在应用程序标签中添加元数据作为

<meta-data android:name="com.google.android.maps.v2.API_KEY"
android:value="your API key"/>

它肯定会正常工作

于 2015-05-26T07:24:06.453 回答