Google Maps Android API v2

1

Я хочу использовать Google Maps в своем приложении, поэтому я попробовал использовать Google Maps v2

но когда я беру этот код:

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

Я получаю эту ошибку:

error: Ошибка: не найден ресурс, который соответствует указанному имени (в 'value' со значением '@integer/google_play_services_version').

у меня есть

  • импортировал google-play-services.jar
  • обновил все в SDK Manager

в конце концов, он все еще не работает, я импортировал libproject\google-play-services_lib\res\values \ version.xml в свой проект

эта ошибка отсутствует, но если я запускаю проект на своем устройстве, logcat показывает это сообщение об ошибке

12-28 17: 22: 29.850: E/AndroidRuntime (28040): FATAL EXCEPTION: main 12-28 17: 22: 29.850: E/AndroidRuntime (28040): java.lang.RuntimeException: не удается запустить Activity ComponentInfo {## ########### MainActivity}: android.view.InflateException: двоичная строка XML файла # 2: ошибка раздувания фрагмента класса 12-28 17: 22: 29.850: E/AndroidRuntime (28040): у android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1968) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993) 12-28 17:22: 29.850: E/AndroidRuntime (28040): at android.app.ActivityThread.access $ 600 (ActivityThread.java:127) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1151) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.os.Handler.dispatchMessage(Handler.java:99) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.os.Looper.loop(Looper.java:137) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.app.ActivityThread.main(ActivityThread.java:4499) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at java.lang.reflect.Method.invokeNative (собственный метод) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at java.lang.reflect.Method.invoke(Method.java:511) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:788) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at dalvik.system.NativeStart.main (родной метод) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): вызвано: android.view.InflateException: двоичная строка XML файла # 2: ошибка раздувания фрагмента класса 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 12-28 17: 22: 29.850: E/AndroidRuntime (2) 8040): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 12 -28 17: 22: 29.850: E/AndroidRuntime (28040): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267) 12-28 17: 22: 29.850: E/AndroidRuntime (28040) ): at android.app.Activity.setContentView(Activity.java:2007) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at #########. MainActivity.onCreate(MainActivity. java: 11) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.app.Activity.performCreate(Activity.java:4637) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932) 12-28 17: 22: 29.850: E/AndroidRuntime (28040):... 11 далее 12-28 17: 22: 29.850: E/AndroidRuntime (28040): вызвано: android.app.Fragment $ InstantationException: невозможно создать экземпляр com.google.android.gms.maps.MapFragment: убедитесь, что имя класса существует, является общедоступным и имеет открытый пустой конструктор 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.app.Fragment.instantiate(Fragment.java:581) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.app.Fragment.instantiate(Fragment.java:549) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.app.Activity.onCreateView(Activity.java:4407) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): на android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:673) 12-28 17: 22: 29.850: E/AndroidRuntime (28040):... 20 еще 12-28 17: 22: 29.850: E/AndroidRuntime (28040): вызвано: java.lang.ClassNotFoundException: com.google.android.gms.maps.MapFragment 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): в java.lang.ClassLoader.loadClass(ClassLoader.j ava: 501) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): в java.lang.ClassLoader.loadClass(ClassLoader.java:461) 12-28 17: 22: 29.850: E/AndroidRuntime (28040): at android.app.Fragment.instantiate(Fragment.java:571) 12-28 17: 22: 29.850: E/AndroidRuntime (28040):... еще 23

У меня есть свой собственный API-ключ, и имя пакета верное. Может быть, есть некоторые проблемы с моим затмением или Android-sdk !?

  • 0
    Подскажите, что вы видите после щелчка правой кнопкой мыши по проекту, свойствам и переходу на андроид. Во втором кадре (есть библиотека) есть зеленая правая метка или красная х метка? - конечно, предполагается, что вы добавили библиотеку google-play-services
Теги:
android-fragments
google-maps

2 ответа

0
Лучший ответ

После импорта проекта google-play-services вы должны добавить этот проект библиотеки в свое приложение, например this-

щелкните правой кнопкой мыши проект → Свойства → Android → Добавить → выберите google-play-services → Ok → Apply → Ok

  • 0
    Я импортировал проект, но был красный х (я упустил из виду -.-) большое спасибо !!! я был так зол, я сделал учетную запись stackoverflow: D
  • 0
    Вы должны поместить свой проект и проект google-play-services в одно и то же рабочее пространство. Убедитесь в этом.
0

Как вы его импортировали? Вы должны добавить google-play-services в качестве библиотеки для своего проекта.

  • 0
    щелкните правой кнопкой мыши проект -> свойства -> путь сборки Java -> библиотеки -> добавить внешние jar ...
  • 0
    щелкните правой кнопкой мыши -> свойства -> android -> раздел Libray -> добавить (выберите службы google_play, которые необходимо предварительно импортировать в ваше рабочее пространство)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню