'Не удалось найти ошибку стиля mapViewStyle'.

Я работаю над этим приложением почти год (старший проект), когда он просто решил сломаться несколько дней назад. Мое приложение было разработано с использованием Eclipse версии 3.7.2 64-битного таргетинга на Froyo Android 2.2, используя мой 64-разрядный компьютер под управлением Windows 7. До сих пор я пробовал:

  • Переупорядочение тега uses-library в файле манифеста
  • Переписывание XML-файла карты
  • Удаление файла R.java и обновление
  • Размещение элемента mapview в макете
  • Переустановка eclipse и android-sdk
  • Очистка проекта
  • Создание файла style.xml и ссылка на него
  • Развертывание на реальном устройстве
  • Возврат к предыдущему коду

И, возможно, больше …

Мой код выглядит следующим образом: gmap.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:clickable="true" android:apiKey="0xMbgnc-el963gCdpl547hdkgXUILTskZr-T5uvg" // random key posted here /> 

AndroidManifest.xml

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.PubMe" android:versionCode="1" android:versionName="1.0"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-sdk android:minSdkVersion="8"/> <application android:icon="@drawable/icon" android:label="@string/app_name"> <uses-library android:name="com.google.android.maps" /> <activity android:name=".PubMeActivity" 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=".MappingActivity" android:label="@string/app_name"> </activity> </application> </manifest> ? <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.PubMe" android:versionCode="1" android:versionName="1.0"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-sdk android:minSdkVersion="8"/> <application android:icon="@drawable/icon" android:label="@string/app_name"> <uses-library android:name="com.google.android.maps" /> <activity android:name=".PubMeActivity" 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=".MappingActivity" android:label="@string/app_name"> </activity> </application> </manifest> 

Я высоко ценю любую помощь заранее.

Solutions Collecting From Web of "'Не удалось найти ошибку стиля mapViewStyle'."

Вы должны включить /path_to_android-sdk/extras/google/google_play_services/libproject/google-play-services_lib Library в качестве внешней библиотеки в свой проект, а также включить этот файл jar /path_to_android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar .

Кроме тех, у вас должны быть эти разрешения:

<uses-permission android:name="android.permission.INTERNET" /> **<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"/>

 <permission android:name="com.example.app.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.app.permission.MAPS_RECEIVE"/> 

Попытайтесь добавить это в свой файл манифеста.

Я думаю, com.google.android.maps.MapView теперь устарел, теперь я использовал com.google.android.gms.maps.MapView. Пожалуйста, проверьте http://developer.android.com/reference/com/google/android/gms/maps/MapView.html за помощью и, если вы хотите использовать MapFragment, перейдите по ссылке http://www.androidhive.info/2013 / 08 / android-working-with-google-maps-v2 / Url.

Я предлагаю взглянуть на демонстрационное приложение Maps. Это связано с пакетом услуг Google Play, в вашем менеджере SDK есть только флажок «Образцы для сервисов Google Play». Затем вы можете найти файлы проекта @ <android-sdk>/extras/google-play-services/samples/maps в вашем каталоге SDK.

Это разрешения, которые вы должны иметь для карты v2

  <permission android:name="com.example.gmapsapp.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.gmapsapp.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" /> 

И ключ api теперь используется в файле манифеста с метатегами

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

Здесь я включаю пример XML-файла gmaps

 <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" />