【问题标题】:Android GPS V2 Tutorial Issue -Google MapsAndroid GPS V2 教程问题-谷歌地图
【发布时间】:2014-03-26 03:57:21
【问题描述】:

我一直在学习本教程 [http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/]

它的 GPS 地图位置应用程序可以获取您的位置或附近的位置。我和许多其他人已经对此进行了测试,并且似乎存在错误,因为应用程序崩溃了。 我更改了 SHA1 指纹和 Google API 密钥。 代码没有错误,我已经导入了google play store。

有没有人对此有任何想法,我已经查看了网站上的 cmets,并且分配的用户也遇到了同样的问题。 这里是 LogCat:

03-26 03:43:53.835: W/dalvikvm(15048): threadid=1: thread exiting with uncaught exception (group=0x42014700)
03-26 03:43:53.845: E/AndroidRuntime(15048): FATAL EXCEPTION: main
03-26 03:43:53.845: E/AndroidRuntime(15048): java.lang.RuntimeException: Unable to start activity ComponentInfo{info.androidhive.googlemapsv2/info.androidhive.googlemapsv2.MainActivity}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.app.ActivityThread.access$700(ActivityThread.java:159)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.os.Looper.loop(Looper.java:176)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.app.ActivityThread.main(ActivityThread.java:5419)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at java.lang.reflect.Method.invokeNative(Native Method)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at java.lang.reflect.Method.invoke(Method.java:525)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at dalvik.system.NativeStart.main(Native Method)
03-26 03:43:53.845: E/AndroidRuntime(15048): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:719)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:361)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.app.Activity.setContentView(Activity.java:1956)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at info.androidhive.googlemapsv2.MainActivity.onCreate(MainActivity.java:24)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.app.Activity.performCreate(Activity.java:5372)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
03-26 03:43:53.845: E/AndroidRuntime(15048):    ... 11 more
03-26 03:43:53.845: E/AndroidRuntime(15048): Caused by: java.lang.IllegalStateException: A required meta-data tag in your app's AndroidManifest.xml does not exist.  You must have the following declaration within the <application> element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.common.GooglePlayServicesUtil.t(Unknown Source)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.maps.internal.q.B(Unknown Source)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.maps.internal.q.A(Unknown Source)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.maps.MapFragment$b.gW(Unknown Source)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.maps.MapFragment$b.a(Unknown Source)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.dynamic.a.a(Unknown Source)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.app.Activity.onCreateView(Activity.java:4965)
03-26 03:43:53.845: E/AndroidRuntime(15048):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:695)
03-26 03:43:53.845: E/AndroidRuntime(15048):    ... 21 more

【问题讨论】:

  • 你在模拟器里试试?
  • 请上传您的AndroidManifest.xml文件的代码

标签: java android api gps maps


【解决方案1】:

你的logcat清楚的说:

 Caused by: java.lang.IllegalStateException: A required meta-data tag in your app's AndroidManifest.xml does not exist.  You must have the following declaration within the <application> element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
 03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.common.GooglePlayServicesUtil.t(Unknown Source)
 03-26 03:43:53.845: E/AndroidRuntime(15048):    at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAv

将 Google Play 服务版本添加到您应用的清单中

编辑应用程序的 AndroidManifest.xml 文件,并添加 元素内的以下声明。这嵌入的版本 编译应用时使用的 Google Play 服务。

您只需在&lt;application&gt; 标签下添加&lt;meta-data&gt; 到您的AndroidManifest.xml

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

这是因为最新的 google play 服务需要版本名称,在 AndroidManifest.xml 中使用 &lt;meta-data .. /&gt; 提及

构建您的 ma​​nifest.xml,例如:

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

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

   </application>

【讨论】:

  • MY KEY" /> 我已经在应用程序中有元数据
  • 还根据我的回答添加另一个 &lt;meta-data&gt; 标签,这是因为需要在 manifest.xml 中提及版本值的最新服务
  • 您知道如何从当前位置获取地址并将其存储在字符串中
  • 使用GeoCoder你可以做到这一点。
猜你喜欢
  • 1970-01-01
  • 2013-08-09
  • 1970-01-01
  • 2014-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多