Android Studio с gradle и Google Maps v2
Я действительно застрял здесь. Итак, я следую этому учебнику шаг за шагом: но он все равно не работает.
Я сделал все шаги из учебника и узнал, что новый модуль (GooglePlayServices) не в модулях, если открытые конфигурации run->edit
в general->module
я не вижу GooglePlayServices
, я полагаю, это проблема, но я не могу найти, что мне нужно сделать, чтобы исправить это.
В начале дня я пробовал то же самое, но в этом случае (на самом деле не помню, что я сделал) GooglePlayServices
в модулях, и у меня больше нет проблемы с cannot resolve symbol 'maps'
, но он все равно не работает, ошибка огня Error inflating class fragment
моя деятельность расширяет 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);
}
}
в обоих случаях build.gradle
, как в учебнике:
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
}
}
и 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"/>
Ответы
Ответ 1
старайтесь не включать в себя все сервисы Google Play,
это заставит вас включить multidex из-за размера пакета.
вместо этого включите их индивидуально,
например:
compile 'com.google.android.gms:play-services-maps:8.3.0'
если вы хотите включить другие службы, см. здесь:
https://developers.google.com/android/guides/setup (прокрутите вниз)
Ответ 2
Я пробовал и проваливал много учебников по этому вопросу, но, наконец, нашел простое решение, которое, похоже, работает.
Я только что установил Android Studio 0.2.3 на свой Mac, и это шаги, которые заставили меня просмотреть фрагмент карты на новом шаблоне проекта hello world:
1) Нажмите кнопку менеджера SDK на панели инструментов в Android Studio.
2) В разделе "Дополнительно" найдите "Службы Google Play" и загрузите его.
3) в файле build.gradle в каталоге src, добавьте эту строку в зависимости:
compile 'com.google.android.gms:play-services:3.1.36'
4) закажите и установите ваш API-ключ в соответствии с этим руководством: https://developers.google.com/maps/documentation/android/start#the_google_maps_api_key
5) добавьте фрагмент в ваш макет 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) теперь вы можете запустить проект на своем устройстве.
Ответ 3
В диспетчере SDK установите их из дополнительных функций:
- Репозиторий поддержки Android
- Хранилище Google
- Службы Google Play
Затем build.gradle должен выглядеть следующим образом:
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
}
}
Мне также пришлось прокомментировать эту строку в файле build.gradle:
//compile files('libs/android-support-v4.jar')
Подробнее об этом: https://plus.google.com/+AndroidDevelopers/posts/4Yhpn6p9icf