Question

I'm using google play services r14 and couldn't able to run the app on any device.

01-23 12:07:37.309: E/AndroidRuntime(7056): FATAL EXCEPTION: main
01-23 12:07:37.309: E/AndroidRuntime(7056): java.lang.RuntimeException: Unable to start     activity ComponentInfo{com.example.mapstest/com.example.mapstest.MainActivity}: java.lang.NullPointerException
01-23 12:07:37.309: E/AndroidRuntime(7056):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2114)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2139)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at android.app.ActivityThread.access$700(ActivityThread.java:143)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at android.os.Looper.loop(Looper.java:137)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at android.app.ActivityThread.main(ActivityThread.java:4963)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at java.lang.reflect.Method.invokeNative(Native Method)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at java.lang.reflect.Method.invoke(Method.java:511)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at dalvik.system.NativeStart.main(Native Method)
01-23 12:07:37.309: E/AndroidRuntime(7056): Caused by: java.lang.NullPointerException
01-23 12:07:37.309: E/AndroidRuntime(7056):     at com.example.mapstest.MainActivity.onCreate(MainActivity.java:25)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at android.app.Activity.performCreate(Activity.java:5184)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
01-23 12:07:37.309: E/AndroidRuntime(7056):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2078)
01-23 12:07:37.309: E/AndroidRuntime(7056):     ... 11 more

My Mainfest.xml code:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mapstest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="18" />    
 <permission
    android:name="com.example.mapstest.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"></permission>
<uses-permission
    android:name="com.example.mapstest.permission.MAPS_RECEIVE"/>
<uses-permission        android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission
    android:name="android.permission.INTERNET"/>
<uses-permission
    android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission
    android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission
    android:name="android.permission.ACCESS_FINE_LOCATION"/>

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:debuggable="true" >
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="api_key"/>
    <meta-data android:name="com.google.android.gms.version"
       android:value="4132500" />
    <activity
        android:name="com.example.mapstest.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>

MainActivity.java :

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;

import android.os.Bundle; 
import android.app.Activity; 
import android.support.v4.app.FragmentActivity;
import android.view.Menu;

public class MainActivity extends FragmentActivity {

private static GoogleMap mMap; 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);            
    mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();       
    mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);         
    final LatLng CIU = new LatLng(35.21843892856462, 33.41662287712097);         
    Marker ciu = mMap.addMarker(new MarkerOptions()                                   
    .position(CIU).title("My Office"));     
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

activity_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"    
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=".MainActivity" >
<TextView        
android:layout_width="wrap_content"        
android:layout_height="wrap_content"        
android:text="@string/hello_world" />
<fragment
    android:id="@+id/map"     
    android:layout_width="match_parent"        
    android:layout_height="match_parent"        
class="com.google.android.gms.maps.MapFragment"/>
</RelativeLayout>

Done all settings for google play services. Does these error occurs because of google play service version? If this is the reason, how to change google play service revision 14 to 10? Any Solutions?

Was it helpful?

Solution

Use Something like this:

   1. Update the google play services in the SDK. 

  2.  Manually uninstall the App from device and restart the device. i have tried it and   its going perfectly bro   

Also do one thing get the new api key to edited the new sh1 code from https://code.google.com/apis/console/    
you can get your sh1 code from window- preference-android-buid    

OTHER TIPS

Your mMap is null. Try to use SupportMapFragment in layout and use getSupportFragmentManager() in code, like this:

    <fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:name="com.google.android.gms.maps.SupportMapFragment"/>

and this code:

    mMap = ((SupportMapFragment)getSupportFragmentManager()
    .findFragmentById(R.id.map)).getMap();

In your Android Manifest you have not specified

<uses-library
    android:name="com.google.android.maps" />

use android:name instead of android:class.Thus change the fragment in your layout as below

<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.SupportMapFragment"/>

and use this in your java file to define mMap

 mMap = ((SupportMapFragment)getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top