2014-12-10 3 views
-1

Я пытаюсь показать Google Map в своем приложении для Android. Поэтому я следовал инструкциям в https://developers.google.com/maps/documentation/android/start#getting_the_google_maps_android_api_v2 и строил проект соответственно. После запуска проекта я получаю следующее сообщение об ошибке в моем журнале кошкиПриложение Google Maps выходит из строя при запуске приложения

12-10 17:41:13.589: E/ActivityThread(1274): Failed to inflate 
12-10 17:41:13.589: E/ActivityThread(1274): android.view.InflateException: Binary XML file line #2: Error inflating class fragment 
12-10 17:41:13.589: E/ActivityThread(1274): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.view.LayoutInflater.inflate(LayoutInflater.java:386) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
12-10 17:41:13.589: E/ActivityThread(1274):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:213) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.app.Activity.setContentView(Activity.java:1657) 
12-10 17:41:13.589: E/ActivityThread(1274):  at com.arifhaq.googlemapproject.MainActivity.onCreate(MainActivity.java:11) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.app.ActivityThread.access$1500(ActivityThread.java:123) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.os.Handler.dispatchMessage(Handler.java:99) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.os.Looper.loop(Looper.java:130) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.app.ActivityThread.main(ActivityThread.java:3835) 
12-10 17:41:13.589: E/ActivityThread(1274):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-10 17:41:13.589: E/ActivityThread(1274):  at java.lang.reflect.Method.invoke(Method.java:507) 
12-10 17:41:13.589: E/ActivityThread(1274):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 
12-10 17:41:13.589: E/ActivityThread(1274):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622) 
12-10 17:41:13.589: E/ActivityThread(1274):  at dalvik.system.NativeStart.main(Native Method) 
12-10 17:41:13.589: E/ActivityThread(1274): Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClassLoader[/data/app/com.arifhaq.googlemapproject-2.apk] 
12-10 17:41:13.589: E/ActivityThread(1274):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
12-10 17:41:13.589: E/ActivityThread(1274):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
12-10 17:41:13.589: E/ActivityThread(1274):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.view.LayoutInflater.createView(LayoutInflater.java:471) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:549) 
12-10 17:41:13.589: E/ActivityThread(1274):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66) 
12-10 17:41:13.589: E/ActivityThread(1274):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568) 
12-10 17:41:13.589: E/ActivityThread(1274):  ... 19 more 
12-10 17:41:13.629: E/AndroidRuntime(1274): FATAL EXCEPTION: main 
12-10 17:41:13.629: E/AndroidRuntime(1274): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.arifhaq.googlemapproject/com.arifhaq.googlemapproject.MainActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1768) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.app.ActivityThread.access$1500(ActivityThread.java:123) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.os.Handler.dispatchMessage(Handler.java:99) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.os.Looper.loop(Looper.java:130) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.app.ActivityThread.main(ActivityThread.java:3835) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at java.lang.reflect.Method.invoke(Method.java:507) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at dalvik.system.NativeStart.main(Native Method) 
12-10 17:41:13.629: E/AndroidRuntime(1274): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.view.LayoutInflater.inflate(LayoutInflater.java:386) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:213) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.app.Activity.setContentView(Activity.java:1657) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at com.arifhaq.googlemapproject.MainActivity.onCreate(MainActivity.java:11) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  ... 11 more 
12-10 17:41:13.629: E/AndroidRuntime(1274): Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClassLoader[/data/app/com.arifhaq.googlemapproject-2.apk] 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.view.LayoutInflater.createView(LayoutInflater.java:471) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:549) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568) 
12-10 17:41:13.629: E/AndroidRuntime(1274):  ... 19 more 

Я пытался найти решение для этого в StackOverflow, но ничего не похоже на работу. Может ли кто-нибудь сказать мне, где я делаю неправильно. что нужно сделать, чтобы мой проект работал. ниже мой файл манифеста

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

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

<permission 
    android:name="com.arifhaq.googlemapproject.permision.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="com.arifhaq.googlemapproject.permision.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" /> 
<!-- 
The following two permissions are not required to use 
Google Maps Android API v2, but are recommended. 
--> 
<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/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".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.gms.version" 
     android:value="@integer/google_play_services_version" /> 
    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="BFzaS.......not posting here...." /> 
</application> 

activity_main.xml

<?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.MapFragment" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

Мой MainActivity.java

package com.arifhaq.googlemapproject; 

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

public class MainActivity extends Activity{ 

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

} 

ответ

1

Ваш android:minSdkVersion="8" так что вы должны пойти с SupportMapFragment, а также продолжается ваш MainActivity в FragmentActivity

, а также изменить

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

в

<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="match_parent" 
android:layout_height="match_parent" /> 
+0

Я сделал то, что ты написал выше, но его теперь дает мне java.lang.ClassNotFound исключение – user3393926

+0

@ user3393926 ли вы ссылаетесь 'google_play_services_lib' в вашем проекте? –

+0

Да, я сделал это в начале – user3393926

0

добавить эту строку в родительском макете в карте Деятельность Xmlns: инструменты = "http://schemas.android.com/инструменты»

как

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".FirstActivity" > 

<fragment 
    android:id="@+id/map" 
    android:name="com.google.android.gms.maps.MapFragment" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

+0

Сделал это, но теперь получая java.lang.ClassNotFound exception – user3393926

+0

, пожалуйста, напишите запись класса в AndroidMenifest.Add библиотеку google PlayService в вашем проекте – SAM

+0

попробуйте этот андроид: name = "com.arifhaq.googlemapproject.MainActivity" – SAM

Смежные вопросы