Naitro
Naitro

Reputation: 458

Android Studio with gradle and Google Maps v2

I'm really stuck here. So, I follow this tutorial step by step: but it still doesn't work.

I've done all steps from tutorial and find out what new module(GooglePlayServices) not in modules, if open run->edit configurations in general->module i don't see GooglePlayServices, I suppose this is the problem, but I can't find what I have to do to fix it.

Day early I tried same, but in this case (I actually don't remember what I did) GooglePlayServices in modules and I don't have anymore problem with cannot resolve symbol 'maps', but it still doesn't work, fires error Error inflating class fragment

my activity extends FragmentActivity

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

public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

}

in both case build.gradle just like in tutorial:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':GooglePlayServices')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 17
    }
}

and settings.gradle:

include ':Roadatus', ':GooglePlayServices'

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<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"/>

Upvotes: 17

Views: 49572

Answers (3)

James Tan
James Tan

Reputation: 1366

try to avoid including entire google play services, it will force you to enable multidex due to the package size. instead, include them individually, eg:

compile 'com.google.android.gms:play-services-maps:8.3.0'

if you wish to include other services, please refer here:

https://developers.google.com/android/guides/setup (scroll down)

Upvotes: 28

Igor Benko
Igor Benko

Reputation: 1276

In SDK manager install these from Extras:

  • Android Support Repository
  • Google Repository
  • Google Play services

Then build.gradle should look like this:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.0'
    }
}
apply plugin: 'android'

dependencies {
    //compile files('libs/android-support-v4.jar')
    compile 'com.google.android.gms:play-services:3.1.36'

}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 14
    }
}

I also had to comment this line in build.gradle:

//compile files('libs/android-support-v4.jar')

More on this: https://plus.google.com/+AndroidDevelopers/posts/4Yhpn6p9icf

Upvotes: 1

monopoint
monopoint

Reputation: 729

I have tried and failed many a tutorial on this, but finally find a simple solution that seem to work.

I just installed Android Studio 0.2.3 on my mac, and these are the steps that made me view a maps fragment on a fresh hello world project template:

1) Click the SDK manager button in the toolbar in Android Studio.

2) Under 'Extras' locate 'Google play services' and download it.

3) in your build.gradle file in your src directory, add this line to dependencies:

compile 'com.google.android.gms:play-services:3.1.36'

4) order and install your API-key following this tutorial: https://developers.google.com/maps/documentation/android/start#the_google_maps_api_key

5) add the fragment to your layout xml:

<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.MapFragment"/>

6) you should now be able to run your project on your device.

Upvotes: 16

Related Questions