83

我尝试使用非常简单的活动使用 google maps android v2 进行演示,只需从 google 页面复制代码: https ://developers.google.com/maps/documentation/android/start#adding_the_api_key_to_your_application

活动:

package com.example.mapdemo;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

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

对于布局:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  class="com.google.android.gms.maps.MapFragment"/>

我已经根据页面申请了一个api密钥并修改了我的androidmanifest.xml文件,就像这样:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.wenhai.driverschool"
    android:versionCode="1"
    android:versionName="1.0" >

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

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

    <!-- add for map2 -->
    <permission
        android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <!-- External storage for caching. -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- Maps API needs OpenGL ES 2.0. -->
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyDVAF4WaVSVRDKJx87It8OSFP5txQcPabc" />

        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

我还在 Eclipse 中将我的应用程序引用到 google-play-services_lib。

但每次,logcat 中的错误报告如下:

2-05 16:22:53.609: E/AndroidRuntime(21623): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wenhai.driverschool/com.wenhai.driverschool.MainActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread.access$600(ActivityThread.java:127)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.os.Looper.loop(Looper.java:137)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread.main(ActivityThread.java:4441)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at java.lang.reflect.Method.invokeNative(Native Method)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at java.lang.reflect.Method.invoke(Method.java:511)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at dalvik.system.NativeStart.main(Native Method)
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class fragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:255)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Activity.setContentView(Activity.java:1835)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.wenhai.driverschool.MainActivity.onCreate(MainActivity.java:11)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Activity.performCreate(Activity.java:4465)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 11 more
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.android.gms.maps.MapFragment: make sure class name exists, is public, and has an empty constructor that is public
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Fragment.instantiate(Fragment.java:581)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Fragment.instantiate(Fragment.java:549)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Activity.onCreateView(Activity.java:4235)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:673)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 20 more
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: java.lang.ClassNotFoundException: com.google.android.gms.maps.MapFragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at android.app.Fragment.instantiate(Fragment.java:571)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 23 more

我不知道这是什么原因。

如果我将 google-play-services.jar 添加到我的项目中,它会报告另一个错误:

12-05 16:34:23.269: E/AndroidRuntime(22638): FATAL EXCEPTION: main
12-05 16:34:23.269: E/AndroidRuntime(22638): java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.Activity.onCreateView(Activity.java:4242)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:673)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:255)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.Activity.setContentView(Activity.java:1835)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.wenhai.driverschool.MainActivity.onCreate(MainActivity.java:11)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.Activity.performCreate(Activity.java:4465)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.ActivityThread.access$600(ActivityThread.java:127)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.os.Looper.loop(Looper.java:137)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at android.app.ActivityThread.main(ActivityThread.java:4441)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at java.lang.reflect.Method.invokeNative(Native Method)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at java.lang.reflect.Method.invoke(Method.java:511)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at dalvik.system.NativeStart.main(Native Method)

任何人都可以帮助我吗?

4

30 回答 30

86

在 IntelliJ IDEA 中(针对 IntelliJ 12 更新):

  1. 创建一个~/android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/src/dummy.java包含class dummy {}.
  2. 文件->导入模块->~/android-sdk/extras/google/google_play_services/libproject/google-play-services_lib
  3. 从现有源创建模块
  4. 下一步->下一步->下一步->下一步->完成
  5. 文件->项目结构->模块->YourApp
  6. +->Module Dependency->Google-play-services_lib(+按钮在对话框的右上角。)
  7. +->罐子或目录->~/android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar
  8. 使用up/down箭头移动<Module source>到列表底部。

dummy.java如果你喜欢,你可以删除。

编辑:使用了一段时间后,我发现有一个小缺陷/错误。IDEA 有时会抱怨无法打开目录.iml中的项目文件google-play-services_lib,尽管您从未告诉它那里有项目。如果发生这种情况,重建项目可以解决问题,至少在它恢复之前是这样。

于 2012-12-06T13:35:49.287 回答
33

更新

请遵循 Commonsware MapV2 代码片段以获得更好的理解。

(它出现在综合版中)

https://github.com/commonsguy/cw-omnibus/tree/master/MapsV2

以下代码段在我的最后工作正常。我选择使用SupportMapFragment.

不要忘记添加 google-play-services.jar 到您的项目中。

MainActivity.java

package com.example.newmapview;

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

public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        SupportMapFragment fragment = new SupportMapFragment();
        getSupportFragmentManager().beginTransaction()
                .add(android.R.id.content, fragment).commit();
    }
}

清单.xml

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

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

    <permission
        android:name="com.example.newmapview.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.newmapview.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="XXXXX" />
    </application>

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

</manifest>

这是结果

在此处输入图像描述 希望这会有所帮助。

于 2012-12-05T11:08:15.637 回答
24

只需尝试将您的布局替换为:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/map"
       android:name="com.google.android.gms.maps.SupportMapFragment"
       android:layout_width="wrap_content"
       android:layout_height="match_parent" />

您需要在 11 岁以下使用 SupportMapFragment for API!

奥雷尔

于 2012-12-05T10:42:44.013 回答
17

我遇到了同样的问题,我花了两天时间才找到对我有用的解决方案:

  1. 删除项目google-play-services_lib(右键项目删除)
  2. 删除包含谷歌地图演示的项目(MainActivity在我的例子中)如果你有一个
  3. 将项目 google-play-services_lib( extras\google\google_play_services\libproject\google-play-services_lib) 复制到您的工作区,然后将其作为常规项目导入(文件->导入->现有项目到工作区)
  4. 右键单击您的项目(您要在其中加载地图)-> Android -> 添加(在库下)google-play-services_lib

你应该看到这样的东西:

注意

注意:你不应该有这样的东西(项目应该从你的工作区引用):

在此处输入图像描述

我认为问题在于两个项目引用了同一个库

于 2013-03-02T21:03:31.060 回答
10

尝试这个

http://developer.android.com/tools/projects/projects-eclipse.html#ReferenceLibraryProject

我刚刚添加了google services的项目,并在我的项目属性->Android中添加了引用

于 2012-12-05T19:14:51.843 回答
8
  1. 现在,demo 可以通过这个链接工作了:
  2. 例如演示,它也可以工作:

在项目的 libs 目录中添加两个 jar。按照以下信息。特别是,我认为您需要:

  • 导入“google-play-services_lib”项目的实际源代码并将其链接为 Android 库。
    • 通过 Project -> Properties -> Android -> Library, Add -> google-play-services_lib 执行此操作(您可以右键单击您的项目并选择 Properties,然后选择 Android)。
    • 不要通过您的项目的“Java 构建路径”将其添加为依赖项目,这对我不起作用。
  • 将 google-play-services.jar 和 android-support-v4.jar 添加到示例项目的“libs”文件夹中,并在“构建路径 -> 配置构建路径 -> 库”中将它们添加为“外部外部 JAR” .

我发现第二步是必要的,因为我在尝试使用示例代码时遇到了与您完全相同的错误。第一步是在我的真实项目中避免 com.google.android.gms.R$styleable 中的 NoClassDefFoundError 是必要的。

在示例代码工作之前,我还需要执行干净的构建并从设备上卸载应用程序(来自早期的测试尝试)。

非常感谢您的帮助。

于 2012-12-07T07:49:40.373 回答
3

Maybe You must highlight this :

Note: Google Play services is not supported on the Android emulator — to develop using the APIs, you need to provide a development device such as an Android phone or tablet.

http://developer.android.com/google/play-services/setup.html

You must provide a physical development device on which you can run and debug your app. Do not use emulator. Will not working.

于 2013-02-17T08:55:09.530 回答
2

在您的MainActivity(或您想要放置 v2 地图的每个活动中)中,您必须扩展FragmentActivity或者Activity您想要使用SupportMapFragment或只是MapFragment. MapFragment仅当您面向 API 12 及更高版本时才使用类。否则,使用SupportMapFragment. 这是一个微妙的区别,但它会产生错误。

于 2013-01-28T09:21:15.497 回答
2

由于 Google 地图现在包含在 Fragments 下,因此从FragmetActivity扩展您的活动,而不仅仅是 Activity,并确保如果您使用“ supportMapFragment ”,那么您只是从支持包中导入 Fragment 。

于 2013-05-04T08:26:01.283 回答
1

在我的 Intellij Idea 项目中,我必须将 google-play-services_lib 和 google-play-services.jar 添加到项目中。并在 google-play-services_lib 项目中添加 google-play-services.jar 。在那之后,如果你做了这里描述的所有事情,对,你的应用程序应该可以工作了。

于 2012-12-06T12:06:09.720 回答
1

除了前面提到的许多事情之外,对我来说,在 Order 和 Export 中标记 .jar 也很重要。据我所知,通常不被提及,对我来说这是至关重要的。

在 Order 和 Export 中标记 lib

于 2013-07-09T15:16:15.127 回答
1

与此建议有关:https ://stackoverflow.com/a/20215481/3080835

我还必须将此添加到Application清单中的元素:

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

它工作得很好。

于 2014-02-06T18:22:44.287 回答
1

这有点困难,因为它在以前的 API 中有所不同,但我找到了解决方案。谷歌说在这里做什么;根据我们需要com.google.android.gms类的问题,因此有必要设置google play services,这只是一个库,我们必须像这个链接一样添加到我们的项目中。导入项目库的副本而google-play-services_lib不是 sdk 文件夹中的副本非常重要。一旦完成,谷歌的教程就完美了。

于 2012-12-18T16:36:37.680 回答
1

在 build.gradle 中添加这个依赖

compile 'com.google.android.gms:play-services:6.5.87'

现在这有效

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.MapFragment"
        android:layout_width="match_parent"
        android:layout_height="388dp"
        android:layout_weight="0.40" />
</LinearLayout>
于 2015-08-19T19:23:42.777 回答
0

我在 Windows 7 64 位机器上使用 Android SDK for x86 时遇到了这个问题。我下载了 Android SDK 64 位版本,让 Eclipse 在 Window > Preferences > Android > SDK location 中看到它,并且问题停止发生。

于 2015-03-26T11:49:20.003 回答
0

我遇到了这个问题,我只是更新了 Google Play 服务,并确保您将 google-play-service-lib 项目添加为依赖项,它现在可以正常工作而无需任何代码更改,但我仍然收到“找不到 Google Play 服务资源” . 检查您的项目配置以确保包含资源。” 但这仅在您设置了 setMyLocationEnabled(true) 时才会发生,有人知道为什么吗?

于 2013-09-04T14:34:23.937 回答
0

我在活动中写道
import com.google.android.gms.maps.SupportMapFragment;

和 Eclipse 给了我红色图标 > 单击 > 修复项目设置.. > 添加存档 google-play-services.jar

最后它奏效了!!

于 2015-01-27T17:17:04.047 回答
0

在 Eclipse 中,有必要为 google play 服务创建一个单独的项目,并将其作为一个 lib 从您的 Android 项目中引用,而不是简单地将 jar 添加到其中。在我的电脑中,我直接从 D:\adt-bundle-windows-x86-20130219\sdk\extras\google\google_play_services\libproject\google-play-services_lib 导入了 google play services Eclipse 项目并将其设置为 Lib 项目,所以我可以从我的 Android 项目中引用它。

于 2013-04-17T12:02:22.170 回答
0

第一步 http://developer.android.com/tools/projects/projects-eclipse.html#ReferencingLibraryProject 第二步 http://developer.android.com/google/play-services/setup.html 在那个页面上有一个注意,但我们没有注意

注意:您应该引用复制到源代码树的库的副本——您不应该引用 Android SDK 目录中的库。

但我认为这不是一个好的文档方式:)

于 2013-05-02T23:26:00.973 回答
0

我没有得到真正的解决方案,但我在做这些事情后解决了它:
- 导入 google-play-services_lib 时勾选“将项目复制到工作区”
- 不要将 minSdkVersion 设置为低于 13
- 如果您遇到主题错误,请尝试将您的布​​局主题更改为任何系统主题
- 从头开始​​重新创建您的项目,或者如果您从某个地方获得它,则恢复所有内容

于 2014-01-17T06:07:42.343 回答
0

我拥有上面每个人所说的一切,并通过简单地调用 super.onCreate(savedInstanceState);oncreate 方法中的 as first 指令解决了错误;在它是方法的最后一行之前。:| 浪费了一整天。

于 2013-09-03T16:06:46.157 回答
0

我认为值得一提的是(在我花了一个多小时拔掉头发之后),如果您使用 MapFragment,则不能使用 FragmentActivity(SupportMapFragment 在这种环境下可以正常工作)。我正准备放弃它。

于 2013-04-25T00:32:24.217 回答
0

要处理与 Drive 相关的导入,您需要从Google Drive SDK. 有一些大的,因此您可能需要单独添加它们以适合您的应用程序。

如果这不能解决com.google.android.gms.* importsthe Google Play Services add-on needs to be installed (from Extras -> Google Play Services in the SDK Manager) and google-play-services.jar needs to be added to your build path.

编辑:

在这种情况下,需要以下罐子:

google-api-services-drive-v2-rev1-1.7.2-beta.jar

google-http-client-1.10.3-beta.jar

google-http-client-android2-1.10.3-beta.jar

google-oauth-client-1.10.1-beta.jar

google-api-client-android2-1.10.3-beta.jar

google-api-client-1.10.3-beta.jar

于 2012-12-06T13:43:58.143 回答
0

我在装有 2.3.4 Android 的 LG-E730 上遇到了同样的问题。在我更新手机上的Google Play 服务之前出现此错误。

于 2012-12-09T16:25:33.537 回答
0

我遇到了同样的问题,只是从 SDK 安装了播放服务,所有问题都消失了。

于 2014-06-13T16:49:33.990 回答
0

不要忘记实际构建 google-play-services_lib!这就是为什么它显示“找不到 google-play....apk”。对我来说,在 Eclipse 上,不需要其他技巧,而是从 Android 子菜单引用项目,而不是从 Java 构建路径或项目引用或其他任何东西。没有手动放置的罐子,我实际上不需要任何东西。

于 2013-03-28T01:07:12.630 回答
0

在同一个教程中指出

请注意,下面的代码仅对在面向 Android API 12 或更高版本的应用程序中测试您的设置有用

只需将您的最低 SDK 版本更改为 12 即可

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

Haven 已经为旧版本的 API 尝试了 Aurel 的解决方法。

于 2013-04-18T10:53:32.930 回答
0

这可能对某些人有帮助。我有两个项目,一个是谷歌演示的副本,效果很好。另一个我复制到现有项目中,我根本无法运行它。在第二次失败中,我收到了上述错误消息。

我的问题是由于未启用库,即使我重新构建、导入多次等。右键单击项目 -> 属性 -> Java 构建路径 -> 订单和导出选项卡。在失败的项目中,未选中“Android Private Libraries”选项卡。

一旦我启用它,该项目就可以正常工作。

于 2013-06-04T14:31:08.953 回答
0

将 Google Play 服务添加到您的项目

要使您的应用可以使用 Google Play 服务 API:

按照此链接中的步骤操作:http: //developer.android.com/google/play-services/setup.html#Setup

于 2015-03-10T00:50:27.477 回答
0

请仔细阅读

如果一切都与谷歌代码相同,那么请检查清单文件,在我的情况下,我添加了地理键和地图键,这就是发生异常的原因,

注意 - 不要在清单文件中添加两个键删除映射键

meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="@string/google_maps_key"/>

添加此代码。

 <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/auto_location"/>

 <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>
于 2017-01-10T06:41:16.387 回答