Android Maps V2 App不断崩溃

时间:2013-03-03 02:04:51

标签: java android google-maps

我的应用程序使用android api v2时出现问题,因为它不会启动它只会继续说"不幸的是,app_name已经停止工作。",我已经关注了每一个在谷歌发布的指南中的一步,我也在StackOverflow中查找了类似的问题并尝试了解决方案但不幸的是似乎没有工作。

我似乎遇到的最大问题之一是

 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.maps.MapFragment"

即使我已添加Google Play服务库并已将其添加到应用项目中。那问题出在哪里呢?

import android.support.v4.app.FragmentActivity;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.GoogleMap;
import android.os.Bundle;
import android.view.Menu;

public class MainActivity extends FragmentActivity {

SupportMapFragment mMap;
GoogleMap googleMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mMap = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);

            googleMap = mMap.getMap();

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

}

2 个答案:

答案 0 :(得分:1)

编辑--- 我建议你试试Genymotion而不是eclipse android模拟器。

但您可以尝试以下步骤。

如果您已经拥有API密钥

,则可以执行此步骤

第1步:

配置AndroindManifest.xml:

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

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="16" />

    <permission
        android:name="com.br.activitys.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.br.activitys.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />    

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
         android:debuggable="true">

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

        <activity> ... </activity>

    </application>

</manifest>

第2步: 创建模拟器4.2.2 API 17

enter image description here

之后,启动并等待完全加载。 第3步: 下载文件https://www.dropbox.com/s/m8p5jsvg9i4l5j3/com.android.vending-20130716.apk e https://www.dropbox.com/s/a90mjl9nhk4qv45/com.google.android.gms-20130716.apk 用ADB安装它 在Windows上除了CMD类型

enter image description here

提示将opne,你需要访问你的android instalation文件夹,在我的情况下C:\ Program Files(x86)\ Android \ android-sdk \ platform-tools

enter image description here

因此,您将键入ADB INSTALL和您下载的文件的路径。  enter image description here

enter image description here

这个过程需要一些时间(2或3分钟),别担心。

之后,您需要重新启动模拟器。

第4步: 下载https://www.dropbox.com/s/42bz5imaq4uty4j/google_play_services_9.7z解压缩文件夹google_play_services insde of folder extra / google non your SDK目录(在我的情况下为C:\ Program Files(x86)\ Android \ android-sdk \ extras \ google),如果文件夹alredy存在,删除并替换为这个新的。 现在,将google_play_services \ libproject中的相同文件夹google-play-services_lib复制到您的工作区,并像eclipse项目一样导入。 档案 - &gt;导入

enter image description here

选择Android - &gt;现有的Android代码进入工作区

enter image description here

选择您复制的文件夹

enter image description here

并完成。

第5步: 现在将库添加到项目中。 右键单击项目并转到属性。 在android中,向下滚动直到库并单击“添加”。

enter image description here

选择您导入的项目,然后单击“确定”

enter image description here

enter image description here

可以肯定的是,去项目 - &gt;清洁并选择清除所有项目

enter image description here

已经完成,现在只需运行你的应用程序。

enter image description here

答案 1 :(得分:0)

您是否在模拟器或设备上测试您的应用程序。因为Google MapV2需要在其中安装带有Google Play apk的Android设备。