Android SDK Google Services Maps API V2出错(Android SDK Google Services Maps API V2 giving error)

编程入门 行业动态 更新时间:2024-10-25 02:27:51
Android SDK Google Services Maps API V2出错(Android SDK Google Services Maps API V2 giving error)

我在我的手机上运行应用程序,因为我无法让模拟器安装Google Play服务,因此我没有调试。 基本上我想从谷歌地图显示地图。 我很确定我的问题来自我的XML,因为它是唯一不会自动生成的东西。

表现:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mytravelbuddy" android:versionCode="1" android:versionName="0.5" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="Travel Buddy" android:configChanges = "keyboardHidden|orientation" > <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.example.mytravelbuddy.MainActivity" android:label="Travel Buddy" android:theme="@android:style/Theme.NoTitleBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.mytravelbuddy.Itinerary" android:label="Itinerary"> </activity> <meta-data android:name="com.google.android.maps.v2.myApiKey" android:value="myApiKey"/> </application> <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"/> <!-- 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-permission android:name="android.permission.INTERNET" /> </manifest>

这是我的类的XML文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/RelativeLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="-100dp" android:layout_marginEnd="0dp" android:layout_marginTop="-20dp" android:measureAllChildren="false" android:minHeight="75dp" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".Itinerary" xmlns:map="http://schemas.android.com/apk/res-auto"> <fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" android:name="com.google.android.gms.maps.MapFragment" /> </RelativeLayout>

这段代码有问题,因为我无法调试它。

编辑:这是我设法得到的logcat:

12-11 19:56:14.793: W/dalvikvm(1557): threadid=1: thread exiting with uncaught exception (group=0xb3a39b90) 12-11 19:56:14.903: E/AndroidRuntime(1557): FATAL EXCEPTION: main 12-11 19:56:14.903: E/AndroidRuntime(1557): Process: com.example.mytravelbuddy, PID: 1557 12-11 19:56:14.903: E/AndroidRuntime(1557): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mytravelbuddy/com.example.mytravelbuddy.Itinerary}: android.view.InflateException: Binary XML file line #18: Error inflating class fragment 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread.access$700(ActivityThread.java:135) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.os.Handler.dispatchMessage(Handler.java:102) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.os.Looper.loop(Looper.java:137) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread.main(ActivityThread.java:4998) 12-11 19:56:14.903: E/AndroidRuntime(1557): at java.lang.reflect.Method.invokeNative(Native Method) 12-11 19:56:14.903: E/AndroidRuntime(1557): at java.lang.reflect.Method.invoke(Method.java:515) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593) 12-11 19:56:14.903: E/AndroidRuntime(1557): at dalvik.system.NativeStart.main(Native Method) 12-11 19:56:14.903: E/AndroidRuntime(1557): Caused by: android.view.InflateException: Binary XML file line #18: Error inflating class fragment 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.Activity.setContentView(Activity.java:1928) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.example.mytravelbuddy.Itinerary.onCreate(Itinerary.java:30) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.Activity.performCreate(Activity.java:5243) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140) 12-11 19:56:14.903: E/AndroidRuntime(1557): ... 11 more 12-11 19:56:14.903: E/AndroidRuntime(1557): Caused by: java.lang.RuntimeException: API key not found. Check that <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml 12-11 19:56:14.903: E/AndroidRuntime(1557): at maps.af.ay.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at maps.af.ay.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at maps.af.al.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at maps.af.be.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at maps.af.bd.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at cmi.onTransact(SourceFile:107) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.os.Binder.transact(Binder.java:361) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onCreateView(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.maps.MapFragment$a.onCreateView(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.dynamic.a$4.b(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.dynamic.a.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.dynamic.a.onCreateView(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.maps.MapFragment.onCreateView(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.Fragment.performCreateView(Fragment.java:1700) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:866) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1040) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1142) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.Activity.onCreateView(Activity.java:4785) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689) 12-11 19:56:14.903: E/AndroidRuntime(1557): ... 21 more

I am running the application on my mobile because I can't get emulator to install Google Play Services and therefore I don't have debug. Basically I want to display a map from google maps. I am pretty sure my problem is from my XML since it's the only thing that is not auto-generated.

Manifest:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mytravelbuddy" android:versionCode="1" android:versionName="0.5" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="Travel Buddy" android:configChanges = "keyboardHidden|orientation" > <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.example.mytravelbuddy.MainActivity" android:label="Travel Buddy" android:theme="@android:style/Theme.NoTitleBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.mytravelbuddy.Itinerary" android:label="Itinerary"> </activity> <meta-data android:name="com.google.android.maps.v2.myApiKey" android:value="myApiKey"/> </application> <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"/> <!-- 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-permission android:name="android.permission.INTERNET" /> </manifest>

Here is my XML file of the class:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/RelativeLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="-100dp" android:layout_marginEnd="0dp" android:layout_marginTop="-20dp" android:measureAllChildren="false" android:minHeight="75dp" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".Itinerary" xmlns:map="http://schemas.android.com/apk/res-auto"> <fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" android:name="com.google.android.gms.maps.MapFragment" /> </RelativeLayout>

Is there something wrong with this code since I can't debug it.

EDIT: Here is the logcat i managed to get:

12-11 19:56:14.793: W/dalvikvm(1557): threadid=1: thread exiting with uncaught exception (group=0xb3a39b90) 12-11 19:56:14.903: E/AndroidRuntime(1557): FATAL EXCEPTION: main 12-11 19:56:14.903: E/AndroidRuntime(1557): Process: com.example.mytravelbuddy, PID: 1557 12-11 19:56:14.903: E/AndroidRuntime(1557): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mytravelbuddy/com.example.mytravelbuddy.Itinerary}: android.view.InflateException: Binary XML file line #18: Error inflating class fragment 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread.access$700(ActivityThread.java:135) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.os.Handler.dispatchMessage(Handler.java:102) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.os.Looper.loop(Looper.java:137) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread.main(ActivityThread.java:4998) 12-11 19:56:14.903: E/AndroidRuntime(1557): at java.lang.reflect.Method.invokeNative(Native Method) 12-11 19:56:14.903: E/AndroidRuntime(1557): at java.lang.reflect.Method.invoke(Method.java:515) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593) 12-11 19:56:14.903: E/AndroidRuntime(1557): at dalvik.system.NativeStart.main(Native Method) 12-11 19:56:14.903: E/AndroidRuntime(1557): Caused by: android.view.InflateException: Binary XML file line #18: Error inflating class fragment 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.Activity.setContentView(Activity.java:1928) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.example.mytravelbuddy.Itinerary.onCreate(Itinerary.java:30) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.Activity.performCreate(Activity.java:5243) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140) 12-11 19:56:14.903: E/AndroidRuntime(1557): ... 11 more 12-11 19:56:14.903: E/AndroidRuntime(1557): Caused by: java.lang.RuntimeException: API key not found. Check that <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml 12-11 19:56:14.903: E/AndroidRuntime(1557): at maps.af.ay.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at maps.af.ay.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at maps.af.al.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at maps.af.be.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at maps.af.bd.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at cmi.onTransact(SourceFile:107) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.os.Binder.transact(Binder.java:361) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onCreateView(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.maps.MapFragment$a.onCreateView(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.dynamic.a$4.b(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.dynamic.a.a(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.dynamic.a.onCreateView(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at com.google.android.gms.maps.MapFragment.onCreateView(Unknown Source) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.Fragment.performCreateView(Fragment.java:1700) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:866) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1040) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1142) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.app.Activity.onCreateView(Activity.java:4785) 12-11 19:56:14.903: E/AndroidRuntime(1557): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689) 12-11 19:56:14.903: E/AndroidRuntime(1557): ... 21 more

最满意答案

尝试:

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

不:

<meta-data android:name="com.google.android.maps.v2.yourKEY" android:value="your KEY" />

将API_KEY保留在android:name末尾。

Try:

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

Not:

<meta-data android:name="com.google.android.maps.v2.yourKEY" android:value="your KEY" />

Keep API_KEY at end of android:name.

更多推荐

android,AndroidRuntime,电脑培训,计算机培训,IT培训"/> <meta name="descri

本文发布于:2023-08-07 16:21:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1465119.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Google   Services   Android   SDK   Maps

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!