Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Maps Android API v2 - simple map app crashes

I'm new to android dev :)

I'm trying to create a simple app: an activity with a map. I connected my HTC 1x to the computer and when I try to run the app (via intellij IDEA), it crashes.

I have searched for the net (and stackoverflow) for clues and couldn't find any. For example:
 - Google Maps v2 - Error
 - google map - runtimeexception - error inflating class fragment

Can you please tell me why??

Thanks,

Omer



Tech details:

HTC 1x runs android 4.1.1
Project External libraries:
 - Android 4.0 Google API's
 - Android-Support-V4.jar
 - google-play-services.jar



Main Activity.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent" >
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:name="com.google.android.gms.maps.SupportMapFragment"/>
</LinearLayout>



Main Activity.Java

package com.example.mapTest;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class MainActivity extends FragmentActivity {
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainActivity);
    }
}



Manifest.xml

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

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

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

    <permission
            android:name="com.example.mapTest.permission.MAPS_RECEIVE"
            android:protectionLevel="signature"/>
    <uses-permission android:name="com.example.mapTest.permission.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"/>
    <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:label="@string/app_name" android:icon="@drawable/ic_launcher">

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

        <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>
    </application>
</manifest>



The exception:

03-19 00:09:30.325: ERROR/NotificationService(434): Ignoring notification with icon==0: Notification(pri=0 contentView=null vibrate=null sound=nullnull defaults=0x0 flags=0x62 kind=[null])
03-19 00:09:41.430: ERROR/MediaScannerService(13421): Exception scanning file
        android.os.DeadObjectException
        at android.os.BinderProxy.transact(Native Method)
        at android.media.IMediaScannerListener$Stub$Proxy.scanCompleted(IMediaScannerListener.java:100)
        at com.android.providers.media.MediaScannerService$ServiceHandler.handleMessage(MediaScannerService.java:1007)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:155)
        at com.android.providers.media.MediaScannerService.run(MediaScannerService.java:713)
        at java.lang.Thread.run(Thread.java:864)
03-19 00:09:48.655: ERROR/ExternalAccountType(31657): Unsupported attribute readOnly
03-19 00:09:48.900: ERROR/ExternalAccountType(31657): Unsupported attribute readOnly
03-19 00:09:51.965: ERROR/EmbeddedLogger(434): App crashed! Process: com.example.mapTest
03-19 00:09:51.965: ERROR/EmbeddedLogger(434): App crashed! Package: com.example.mapTest v1 (1.0)
03-19 00:09:51.965: ERROR/EmbeddedLogger(434): Application Label: mapTest
03-19 00:09:51.965: ERROR/AndroidRuntime(22403): FATAL EXCEPTION: main
        java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
        at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
        at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
        at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:279)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
        at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:365)
        at android.app.Activity.setContentView(Activity.java:1912)
        at com.example.mapTest.MainActivity.onCreate(MainActivity.java:13)
        at android.app.Activity.performCreate(Activity.java:5066)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1101)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
        at android.app.ActivityThread.access$600(ActivityThread.java:151)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:155)
        at android.app.ActivityThread.main(ActivityThread.java:5485)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795)
        at dalvik.system.NativeStart.main(Native Method)
03-19 00:09:53.785: ERROR/MediaScannerService(13421): Exception scanning file
        android.os.DeadObjectException
        at android.os.BinderProxy.transact(Native Method)
        at android.media.IMediaScannerListener$Stub$Proxy.scanCompleted(IMediaScannerListener.java:100)
        at com.android.providers.media.MediaScannerService$ServiceHandler.handleMessage(MediaScannerService.java:1007)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:155)
        at com.android.providers.media.MediaScannerService.run(MediaScannerService.java:713)
        at java.lang.Thread.run(Thread.java:864)
03-19 00:09:54.365: ERROR/NotificationService(434): Ignoring notification with icon==0: Notification(pri=0 contentView=null vibrate=null sound=nullnull defaults=0x0 flags=0x62 kind=[null])
03-19 00:10:03.075: ERROR/ExternalAccountType(31657): Unsupported attribute readOnly
03-19 00:10:03.380: ERROR/NotificationService(434): Ignoring notification with icon==0: Notification(pri=0 contentView=null vibrate=null sound=nullnull defaults=0x0 flags=0x62 kind=[null])
03-19 00:10:03.960: ERROR/ExternalAccountType(31657): Unsupported attribute readOnly
03-19 00:10:08.200: ERROR/MediaScannerService(13421): Exception scanning file
        android.os.DeadObjectException
        at android.os.BinderProxy.transact(Native Method)
        at android.media.IMediaScannerListener$Stub$Proxy.scanCompleted(IMediaScannerListener.java:100)
        at com.android.providers.media.MediaScannerService$ServiceHandler.handleMessage(MediaScannerService.java:1007)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:155)
        at com.android.providers.media.MediaScannerService.run(MediaScannerService.java:713)
        at java.lang.Thread.run(Thread.java:864)
03-19 00:10:10.270: ERROR/AndroidRuntime(23231): FATAL EXCEPTION: main
        java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
        at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
        at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
        at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:279)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
        at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:365)
        at android.app.Activity.setContentView(Activity.java:1912)
        at com.example.mapTest.MainActivity.onCreate(MainActivity.java:13)
        at android.app.Activity.performCreate(Activity.java:5066)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1101)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
        at android.app.ActivityThread.access$600(ActivityThread.java:151)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:155)
        at android.app.ActivityThread.main(ActivityThread.java:5485)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795)
        at dalvik.system.NativeStart.main(Native Method)
03-19 00:10:10.285: ERROR/EmbeddedLogger(434): App crashed! Process: com.example.mapTest
03-19 00:10:10.285: ERROR/EmbeddedLogger(434): App crashed! Package: com.example.mapTest v1 (1.0)
03-19 00:10:10.285: ERROR/EmbeddedLogger(434): Application Label: mapTest
like image 404
Omeriko Avatar asked Mar 18 '13 22:03

Omeriko


People also ask

Why does my Google Maps app keep crashing?

Clear the app's cache & data On your Android phone or tablet, open the Settings app . Tap Apps & notifications. Follow the steps on your device to find the Maps app. After you select the app, storage & cache options should be available.

Why is Google Maps API not working?

There are a several reasons why your google maps may not be working, the most common issue being no Google Map API key set or set incorrectly. To use the Google Maps JavaScript API, you must register your app project on the Google Cloud Platform Console and get a Google API key which you can add to your app.


1 Answers

Have you included the Google Play Services library in your project? Without it, critical resources are unavailable. See question: java.lang.noclassdeffounderror: com.google.android.gms.R$styleable for more detail.

like image 141
Tim C Avatar answered Oct 14 '22 04:10

Tim C