0

При попытке запустить отображение карты в эмуляторе или на устройстве, активность падает. Я чувствую, что это может быть связано с проблемой импорта с необходимыми библиотеками. Ошибка покажет исключение класса, не найденное. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Кроме того, я следовал этот учебник: https://blog-emildesign.rhcloud.com/?p=435Android MapView Class не найден

активность:

package com.klinetel.countydentistfinder; 

import com.google.android.gms.maps.*; 

import android.app.Activity; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 


public class ClinicMapActivity extends FragmentActivity 
{ 
    MapView m; 

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


    } 





} 

Компоновка активность:

<?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:name="com.google.android.gms.maps.SupportMapFragment" 
     android:id="@+id/map" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 
</LinearLayout> 

Manifest:

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

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 
    <uses-permission android:name="com.klinetel.countydentistfinder.permission.MAPS_RECEIVE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <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"/> 
    <permission 
     android:name="com.klinetel.countydentistfinder.LocationGoogleMapV2Demo.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature"/> 
    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

     <activity 
      android:name="com.klinetel.countydentistfinder.MainActivity" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.klinetel.countydentistfinder.ClinicListingActivity" 
      android:label="@string/title_activity_clinic_listing" 
      android:parentActivityName="com.klinetel.countydentistfinder.MainActivity" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.klinetel.countydentistfinder.MainActivity" /> 
     </activity> 
     <activity 
      android:name="com.klinetel.countydentistfinder.ClinicMapActivity" 
      android:label="@string/title_activity_clinic_map" 
      android:parentActivityName="com.klinetel.countydentistfinder.ClinicListingActivity" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.klinetel.countydentistfinder.MainActivity" /> 
     </activity> 
     <uses-library android:name="com.google.android.maps"></uses-library> 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value=""/> 
    </application> 

</manifest> 

Logcat:

enter image description here

+0

У меня есть ключ API, я просто оставил его пустым для безопасности. – Klinetel

+1

Вы ссылались на проект библиотеки игровых сервисов google? – Raghunandan

+0

Я ссылался на google-play-services.jar в проекте. – Klinetel

ответ

2

Нельзя добавлять его в файл внешней банки.

Вы должны ссылаться на проект библиотеки в своем проекте карты Android.

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

Скопируйте Google-игра библиотека services_lib проект в рабочую область (папка, в которой ваш проект андроида карта). Проект библиотеки можно найти по следующему пути.

 <android-sdk-folder>/extras/google/google_play_services/libproject/google-play-services_lib library project . 

Импорт библиотека проект вашего затмения

Выберите Файл> Импорт выберите Android> Android Существующего код в рабочую область, а также просматривать ввозное рабочее пространство проекта библиотеки. Вы можете проверить, является ли это проектом библиотеки. Щелкните правой кнопкой мыши на проекте библиотеки. Перейти к свойствам. Нажмите Android на левой панели. Вы увидите, проверена ли библиотека.

Щелкните правой кнопкой мыши на своем проекте Android. Перейти к свойствам. Выберите Android на левой панели. Нажмите «Добавить» и просмотрите проект библиотеки. Выберите то же самое. Нажмите ОК и применить

enter image description here

Также убедитесь, что вы включили карты Google для Android в консоли API Google

+0

Спасибо, но это еще не исправление проблемы с картой. Он говорит, что это приложение не будет работать без сервисов Google Play, которые отсутствуют на вашем телефоне. – Klinetel

+0

Каковы ошибки, это правильный путь. я уверен в этом. однако вы можете делать что-то не так. проверьте наличие ошибок в папках ресурсов. проверьте, есть ли у вас R.java. – Raghunandan

+0

один вопрос, почему здесь требуется сервис google-play? просто любопытно ! –