谷歌地图没有加载由于膨胀异常 [英] Google Map is not loading due to inflate exception

查看:120
本文介绍了谷歌地图没有加载由于膨胀异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的谷歌地图V2在我的应用程序。关键是正确生成,清单中存在的所有权限。我跟着的谷歌地图V2的教程。我跟着每一步,但它不工作。请帮助

登录

 一月3日至4号:25:23.145:E /跟踪(19467):错误打开跟踪文件:没有这样的文件或目录(2)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):致命异常:主要
1月3日至四号:25:23.293:E / AndroidRuntime(19467):java.lang.RuntimeException的:无法启动的活动ComponentInfo{com.vogella.android.locationapi.maps/com.appscourt.jooging.track.map.health.MainActivity}: android.view.InflateException:二进制XML文件中的行#11:错误充气类片段
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2136)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2174)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.app.ActivityThread.access $ 700(ActivityThread.java:141)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1267)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.os.Handler.dispatchMessage(Handler.java:99)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.os.Looper.loop(Looper.java:137)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.app.ActivityThread.main(ActivityThread.java:5059)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在java.lang.reflect.Method.invokeNative(本机方法)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在java.lang.reflect.Method.invoke(Method.java:511)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:792)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在dalvik.system.NativeStart.main(本机方法)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):android.view.InflateException:二进制XML文件中的行#11:错误充气类片段产生的原因
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.view.LayoutInflater.inflate(LayoutInflater.java:489)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.view.LayoutInflater.inflate(LayoutInflater.java:396)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.view.LayoutInflater.inflate(LayoutInflater.java:352)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:260)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.app.Activity.setContentView(Activity.java:1893)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.appscourt.jooging.track.map.health.MainActivity.onCreate(MainActivity.java:20)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.app.Activity.performCreate(Activity.java:5058)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):11 ...更多
1月3日至四号:25:23.293:E / AndroidRuntime(19467):java.lang.IllegalStateException:在您的应用程序的Andr​​oidManifest.xml中的元数据标签没有正确的价值所致。预计4242000但发现0。你必须在&lt中的以下声明;用途>元:其中,元数据的android:NAME =com.google.android.gms.version机器人:值=@整数/ google_play_services_version/>
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.google.android.gms.common.GooglePlayServicesUtil.n(来源不明)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(来源不明)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.google.android.gms.maps.internal.qv(来源不明)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.google.android.gms.maps.internal.qu(来源不明)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.google.android.gms.maps.MapsInitializer.initialize(来源不明)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.google.android.gms.maps.MapFragment $ b.ex(来源不明)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.google.android.gms.maps.MapFragment $ BA(来源不明)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.google.android.gms.dynamic.aa(来源不明)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.google.android.gms.dynamic.a.onInflate(来源不明)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在com.google.android.gms.maps.MapFragment.onInflate(来源不明)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.app.Activity.onCreateView(Activity.java:4713)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
1月3日至四号:25:23.293:E / AndroidRuntime(19467):22 ...更多
 

main.xml中

 < RelativeLayout的的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    的xmlns:工具=htt​​p://schemas.android.com/tool​​s
    机器人:layout_width =match_parent
    机器人:layout_height =match_parent>

    <的LinearLayout
        机器人:layout_width =match_parent
        机器人:layout_height =WRAP_CONTENT
        机器人:方向=垂直>

        <片段
            机器人:ID =@ + ID /图
            机器人:layout_width =match_parent
            机器人:layout_height =match_parent
            类=com.google.android.gms.maps.MapFragment
            机器人:layout_marginBottom =35dip/>
    < / LinearLayout中>
< / RelativeLayout的>
 

MainActivity.Java

 公共类MainActivity扩展FragmentActivity {
私人GoogleMap的GoogleMap的;
保护LocationListener的LocationListener的;

@覆盖
保护无效的onCreate(包savedInstanceState){

    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);
    initializeMap();
}

@覆盖
公共无效onBack pressed(){

    完();
}

私人无效initializeMap(){

    如果(GoogleMap的== NULL){

        GoogleMap的=((MapFragment)getFragmentManager()。findFragmentById(R.id.map))
                .getMap();
        //如果映射成功与否创建检查
        如果(GoogleMap的== NULL){
            Toast.makeText(getApplicationContext(),
                    对不起!无法创建地图,Toast.LENGTH_SHORT)
                    。显示();
            }
        }
    }
}
 

的Manifest.xml

 < XML版本=1.0编码=UTF-8&GT?;
<舱单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    包=com.vogella.android.locationapi.maps
    安卓版code =1
    机器人:VERSIONNAME =1.0>

    <用途-SDK
        安卓的minSdkVersion =12
        机器人:targetSdkVersion =19/>

    <许可
        机器人:名称=com.example.mapdemo.permission.MAPS_RECEIVE
        安卓的ProtectionLevel =签名/>

    <用途特征
        机器人:glEsVersion =0x00020000
        机器人:要求=真/>

    <使用-权限的Andr​​oid:名称=com.example.mapdemo.permission.MAPS_RECEIVE/>
    <使用-权限的Andr​​oid:名称=android.permission.ACCESS_NETWORK_STATE/>
    <使用-权限的Andr​​oid:名称=android.permission.INTERNET对/>
    <使用-权限的Andr​​oid:名称=android.permission.WRITE_EXTERNAL_STORAG​​E/>
    <使用-权限的Andr​​oid:名称=com.google.android.providers.gsf.permission.READ_GSERVICES/>
    <使用-权限的Andr​​oid:名称=android.permission.ACCESS_COARSE_LOCATION/>
    <使用-权限的Andr​​oid:名称=android.permission.ACCESS_FINE_LOCATION/>

    <应用
        机器人:allowBackup =真
        机器人:图标=@可绘制/ ic_launcher
        机器人:标签=@字符串/ APP_NAME
        机器人:主题=@风格/ AppTheme>
        <活动
            机器人:名称=com.appscourt.jooging.track.map.health.MainActivity
            机器人:标签=@字符串/ APP_NAME>
            <意向滤光器>
                <作用机器人:名称=android.intent.action.MAIN/>

                <类机器人:名称=android.intent.category.LAUNCHER/>
            &所述; /意图滤光器>
        < /活性GT;

        &所述;元数据
            机器人:名称=com.google.android.maps.v2.API_KEY
            机器人:值=AIzaSyCV0yduNQJCXrSWNzk6h​​__6FYaEg_bfCvE
           />
    < /用途>

< /舱单>
 

解决方案

您的logcat说清楚

 一月3日至4号:25:23.293:E / AndroidRuntime(19467):产生的原因:
 java.lang.IllegalStateException:在您的应用程序的元数据标签
 AndroidManifest.xml中没有正确的价值。预计4242000
 但发现0。你必须有在以下声明
 <应用>元件:其中;元数据
 机器人:名称=com.google.android.gms.version
 机器人:值=@整数/ google_play_services_version/> 03-04
 01:25:23.293:E / AndroidRuntime(19467):
 

添加了谷歌播放服务版本的应用程序的清单

  

编辑应用程序的Andr​​oidManifest.xml文件,并添加   继元素中声明。这将嵌入的版   谷歌播放的应用程序编译时使用的服务。

您需要添加<元数据> <应用> 标签到你的的Andr​​oidManifest.xml

  ...<应用>
 <元数据的android:NAME =com.google.android.gms.version
 机器人:值=@整数/ google_play_services_version/>
 < /用途>
 

这是因为最新的谷歌播放服务需要一个版本的名字,这是通过提<元数据.. /> AndroidManifest.xml中

,改变 MainActivity 扩展活动

有关更多信息,请访问: https://developers.google.com/maps/文档/安卓

I am using Google Maps v2 in my application. The key is correctly generated, all the permissions exist in manifest. I followed the tutorial of Google Maps v2. I followed each and every step but it's not working. Please Help

Log

03-04 01:25:23.145: E/Trace(19467): error opening trace file: No such file or directory (2)
03-04 01:25:23.293: E/AndroidRuntime(19467): FATAL EXCEPTION: main
03-04 01:25:23.293: E/AndroidRuntime(19467): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.vogella.android.locationapi.maps/com.appscourt.jooging.track.map.health.MainActivity}: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2136)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2174)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.app.ActivityThread.access$700(ActivityThread.java:141)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1267)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.os.Looper.loop(Looper.java:137)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.app.ActivityThread.main(ActivityThread.java:5059)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at java.lang.reflect.Method.invokeNative(Native Method)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at java.lang.reflect.Method.invoke(Method.java:511)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at dalvik.system.NativeStart.main(Native Method)
03-04 01:25:23.293: E/AndroidRuntime(19467): Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:260)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.app.Activity.setContentView(Activity.java:1893)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.appscourt.jooging.track.map.health.MainActivity.onCreate(MainActivity.java:20)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.app.Activity.performCreate(Activity.java:5058)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
03-04 01:25:23.293: E/AndroidRuntime(19467):    ... 11 more
03-04 01:25:23.293: E/AndroidRuntime(19467): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4242000 but found 0.  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-04 01:25:23.293: E/AndroidRuntime(19467):    at com.google.android.gms.common.GooglePlayServicesUtil.n(Unknown Source)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.google.android.gms.maps.internal.q.v(Unknown Source)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.google.android.gms.maps.internal.q.u(Unknown Source)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.google.android.gms.maps.MapFragment$b.ex(Unknown Source)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.google.android.gms.maps.MapFragment$b.a(Unknown Source)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.google.android.gms.dynamic.a.a(Unknown Source)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.app.Activity.onCreateView(Activity.java:4713)
03-04 01:25:23.293: E/AndroidRuntime(19467):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
03-04 01:25:23.293: E/AndroidRuntime(19467):    ... 22 more

main.xml

<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" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <fragment
            android:id="@+id/map"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            class="com.google.android.gms.maps.MapFragment"
            android:layout_marginBottom="35dip" />
    </LinearLayout>
</RelativeLayout>

MainActivity.Java

public class MainActivity extends FragmentActivity {
private GoogleMap googleMap;
protected LocationListener locationListener;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    initializeMap();
}

@Override
public void onBackPressed() {

    finish();
}

private void initializeMap(){

    if(googleMap == null){

        googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
                .getMap();
        // check if map is created successfully or not
        if (googleMap == null) {
            Toast.makeText(getApplicationContext(),
                    "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                    .show();
            }
        }
    }
}    

Manifest.xml

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

    <uses-sdk
        android:minSdkVersion="12"
        android:targetSdkVersion="19" />

    <permission
        android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <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" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.appscourt.jooging.track.map.health.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.maps.v2.API_KEY"
            android:value="AIzaSyCV0yduNQJCXrSWNzk6h__6FYaEg_bfCvE"
           />
    </application>

</manifest>

解决方案

Your logcat clearly said

 03-04 01:25:23.293: E/AndroidRuntime(19467): Caused by:
 java.lang.IllegalStateException: The meta-data tag in your app's
 AndroidManifest.xml does not have the right value.  Expected 4242000
 but found 0.  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-04
 01:25:23.293: E/AndroidRuntime(19467):

Add the Google Play services version to your app's manifest

Edit your application's AndroidManifest.xml file, and add the following declaration within the element. This embeds the version of Google Play services that the app was compiled with.

You need to add <meta-data> under <application> tag into your AndroidManifest.xml

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

This is because latest google play services requires a version name, which is to be mentioned using <meta-data .. /> inside AndroidManifest.xml

and also change MainActivity extends Activity

For more information go to :https://developers.google.com/maps/documentation/android

这篇关于谷歌地图没有加载由于膨胀异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆