2012-05-25 55 views
0

我有同样的错误: 我发现应用程序启动,并且有一个灰色的网格显示和没有地图。 在logcat中的错误是: 安卓MapActivity:无法获取连接工厂客户 请看以下XML,清单和java文件:错误:Android MapActivity:无法获得连接工厂客户端

我的清单文件:

 <?xml version="1.0" encoding="utf-8"?> 
     <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="maps.google" 
      android:versionCode="1" 
      android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="15" /> 

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

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <uses-library android:name="com.google.android.maps" /> 

     <activity 
      android:name=".Main" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.NoTitleBar" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

我的XML文件:main.xml

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

我的Java文件也很有用。

package maps.google; 

import android.os.Bundle; 
import android.view.MotionEvent; 
import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapView; 
import com.google.android.maps.Overlay; 

public class Main extends MapActivity { 
    MapView map; 
     long start, stop; 

     @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     map = (MapView) findViewById(R.id.mapview); 
    } 

    class Touchy extends Overlay { 
     public boolean onTouchEvent(MotionEvent e, MapView m) { 

      return false; 
     } 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     return false; 
     } 
} 
+1

这个问题在stackoverflow中问了很多次 –

+0

你用哪个keystore获取api key? –

回答

0

在命令提示符处设置你的JDK路径类似下面:::

Step1:: C:/program files/java/jdk6/bin> 

Step2:: C:/program files/java/jdk6/bin>keytool -v -list -alias androiddebugkey -keystore "C:\Users\Agarwal\.android\debug.keystore" 

Step3:: enter password android 

Step4:: copy MD5 Figerprint and [click here][1] 

Step5:: Copy the APIKEY and paste it in your xml file. 

注::在第二步只是改变你的debug.keystore的路径。

相关问题