'Android map activity tutorial keeps stopping in android emulator

I am trying to create an app which consumer map activity but its crashing with an error mapTutorial keeps stopping

Step i used to create map project

  • file>new>new project>Google Maps activity

  • created google API key

  • updated google map API key in AnroidManifest.xml (YOUR_API_KEY)

FILES code are as following :

AnroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.maptutorial">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MapTutorial">

        <!--
             TODO: Before you run your application, you need a Google Maps API key.

             To get one, follow the directions here:

                https://developers.google.com/maps/documentation/android-sdk/get-api-key

             Once you have your API key (it starts with "AIza"), define a new property in your
             project's local.properties file (e.g. MAPS_API_KEY=Aiza...), and replace the
             "YOUR_API_KEY" string in this file with "${MAPS_API_KEY}".
        -->
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="AIzaSyCli6Q0XipFFMuav36gew0UTomzBfS1Xr8" />

        <activity
            android:name=".MapsActivity"
            android:exported="true"
            android:label="@string/title_activity_maps">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

**mapsActivity.java

package com.example.maptutorial;

import androidx.fragment.app.FragmentActivity;

import android.os.Bundle;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.example.maptutorial.databinding.ActivityMapsBinding;

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

    private GoogleMap mMap;
    private ActivityMapsBinding binding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        binding = ActivityMapsBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());

        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }

    /**
     * Manipulates the map once available.
     * This callback is triggered when the map is ready to be used.
     * This is where we can add markers or lines, add listeners or move the camera. In this case,
     * we just add a marker near Sydney, Australia.
     * If Google Play services is not installed on the device, the user will be prompted to install
     * it inside the SupportMapFragment. This method will only be triggered once the user has
     * installed Google Play services and returned to the app.
     */
    @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;

        // Add a marker in Sydney and move the camera
        LatLng Melb = new LatLng(-37, 144);
        mMap.addMarker(new MarkerOptions().position(Melb).title("Marker in Melb"));
        mMap.moveCamera(CameraUpdateFactory.newLatLng(Melb));
    }
}

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

error :

2022-04-11 11:55:05.525 13494-13494/com.example.maptutorial I/Google Maps Android API: Google Play services package version: 221215047
2022-04-11 11:55:05.525 13494-13494/com.example.maptutorial I/Google Maps Android API: Google Play services maps renderer version(legacy): 203115000
2022-04-11 11:55:05.556 13494-13494/com.example.maptutorial W/un: File created: _google_maps_sdk_recovery_needed_
2022-04-11 11:55:05.556 13494-13494/com.example.maptutorial W/un: Marker deleted: _google_maps_sdk_crash_count_2
2022-04-11 11:55:05.556 13494-13494/com.example.maptutorial W/un: Couldn't create marker: _google_maps_sdk_crash_
2022-04-11 11:55:05.564 13494-13494/com.example.maptutorial D/AndroidRuntime: Shutting down VM
2022-04-11 11:55:05.567 13494-13494/com.example.maptutorial E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.maptutorial, PID: 13494
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.maptutorial/com.example.maptutorial.MapsActivity}: android.view.InflateException: Binary XML file line #2 in com.example.maptutorial:layout/activity_maps: Binary XML file line #2 in com.example.maptutorial:layout/activity_maps: Error inflating class fragment
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3679)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3816)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:99)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2299)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7850)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
     Caused by: android.view.InflateException: Binary XML file line #2 in com.example.maptutorial:layout/activity_maps: Binary XML file line #2 in com.example.maptutorial:layout/activity_maps: Error inflating class fragment
     Caused by: android.view.InflateException: Binary XML file line #2 in com.example.maptutorial:layout/activity_maps: Error inflating class fragment
     Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f070016 type #0x3 is not valid
        at android.content.res.Resources.getDimensionPixelSize(Resources.java:836)
        at com.google.maps.api.android.lib6.impl.ax.d(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (190800-0):5)
        at com.google.maps.api.android.lib6.impl.fd.<init>(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (190800-0):6)
        at com.google.maps.api.android.lib6.impl.bj.az(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (190800-0):14)
        at com.google.maps.api.android.lib6.impl.cn.o(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (190800-0):2)
        at com.google.android.gms.maps.internal.o.aX(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (190800-0):26)
        at eb.onTransact(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (190800-0):4)
        at android.os.Binder.transact(Binder.java:1164)
        at com.google.android.gms.internal.maps.zza.zzH(com.google.android.gms:play-services-maps@@18.0.0:2)
        at com.google.android.gms.maps.internal.zzk.onCreateView(com.google.android.gms:play-services-maps@@18.0.0:5)
        at com.google.android.gms.maps.zzau.onCreateView(com.google.android.gms:play-services-maps@@18.0.0:7)
        at com.google.android.gms.dynamic.zad.zab(com.google.android.gms:play-services-base@@18.0.1:2)
        at com.google.android.gms.dynamic.DeferredLifecycleHelper.zaf(com.google.android.gms:play-services-base@@18.0.1:1)
        at com.google.android.gms.dynamic.DeferredLifecycleHelper.onCreateView(com.google.android.gms:play-services-base@@18.0.1:2)
        at com.google.android.gms.maps.SupportMapFragment.onCreateView(com.google.android.gms:play-services-maps@@18.0.0:1)
        at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
        at androidx.fragment.app.FragmentStateManager.ensureInflatedView(FragmentStateManager.java:386)
        at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:281)
        at androidx.fragment.app.FragmentLayoutInflaterFactory.onCreateView(FragmentLayoutInflaterFactory.java:140)
        at androidx.fragment.app.FragmentController.onCreateView(FragmentController.java:135)
        at androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:319)
2022-04-11 11:55:05.567 13494-13494/com.example.maptutorial E/AndroidRuntime:     at androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:298)
        at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1073)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1001)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:663)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:538)
        at com.example.maptutorial.databinding.ActivityMapsBinding.inflate(ActivityMapsBinding.java:36)
        at com.example.maptutorial.databinding.ActivityMapsBinding.inflate(ActivityMapsBinding.java:30)
        at com.example.maptutorial.MapsActivity.onCreate(MapsActivity.java:24)
        at android.app.Activity.performCreate(Activity.java:8257)
        at android.app.Activity.performCreate(Activity.java:8237)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1339)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3660)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3816)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:99)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2299)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7850)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
2022-04-11 11:55:07.527 13494-13535/com.example.maptutorial W/DynamiteModule: Local module descriptor class for com.google.android.gms.googlecertificates not found.
2022-04-11 11:55:07.530 13494-13535/com.example.maptutorial I/DynamiteModule: Considering local module com.google.android.gms.googlecertificates:0 and remote module com.google.android.gms.googlecertificates:6
2022-04-11 11:55:07.530 13494-13535/com.example.maptutorial I/DynamiteModule: Selected remote version of com.google.android.gms.googlecertificates, version >= 6
2022-04-11 11:55:07.532 13494-13535/com.example.maptutorial W/ziparchive: Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/0000001e/GoogleCertificates.dm': No such file or directory
2022-04-11 11:55:07.532 13494-13535/com.example.maptutorial W/ziparchive: Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/0000001e/GoogleCertificates.dm': No such file or directory
2022-04-11 11:55:10.123 13494-13507/com.example.maptutorial W/System: A resource failed to call close. 


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source