android - Android Studio 中的编译错误在制作一个简单的 Google Android Maps API v2 项目时

标签 android google-maps google-maps-android-api-2 android-studio google-play-services

最近我迁移到基于 IntelliJ 的新 Android Studio IDE

我遵循的指南是:

  1. https://developers.google.com/maps/documentation/android/start (对于 基础)

  2. How can I create an Android application in Android Studio that uses the Google Maps Api v2? (用于导入所需的 Google Play 服务和支持 库到 android studio)

Android Studio 已正确检测到所有库,我没有收到任何“找不到库错误”。该项目显示无错误。然后,当我尝试编译它时,出现了这个错误。

Gradle: 
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':AID-AmritaInfoDesk:compileDebug'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.


Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'.

这是我的 explorer.java 文件

package com.aid.explorer;

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

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


public class explorer extends FragmentActivity {

    private GoogleMap mMap;

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

    @Override
    protected void onResume() {
        super.onResume();
        setUpMapIfNeeded();
    }


    private void setUpMapIfNeeded() {
        // Do a null check to confirm that we have not already instantiated the map.
        if (mMap == null) {
            // Try to obtain the map from the SupportMapFragment.
            mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                    .getMap();
            // Check if we were successful in obtaining the map.
            if (mMap != null) {
                setUpMap();
            }
        }
    }


    private void setUpMap() {
        mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
    }
}

这是我的 explorer.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"
          class="com.google.android.gms.maps.SupportMapFragment"/>

我想知道哪里出了问题。任何帮助将非常感激

最佳答案

除了我正在创建一个新项目外,我遵循了相同的说明。在项目结构下,我删除了 Android-Gradle 方面并且能够成功构建。可以选择更新 gradle 构建文件并将 Android-Gradle 方面添加到播放服务库。

注意:我更改了 Google Play 服务目录的名称。

build.gradle 用于 Google Play 服务库。

apply plugin: 'android-library'

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}

dependencies {
    compile files('libs/android-support-v4.jar')
    compile files('google-play-services.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion '17.0.0'

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aild.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}

build.gradle 用于测试应用。

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':lib-google-play-services')
    compile files('../lib-google-play-services/libs/google-play-services.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 16
    }
}

关于android - Android Studio 中的编译错误在制作一个简单的 Google Android Maps API v2 项目时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16634336/

相关文章:

google-maps - 您如何使用 ajax 和 json 在 google maps engine lite 中以编程方式创建图层

javascript - 如何为从数据库中获取的每个用户做一个标记?

java - Android 上 MapView 中的空网格

android - 使用 Retrofit 的 Google Map Direction Api

java - 检索项目 :No resource found that matches the given name 'Theme.AppCompat.Light' . 的父项时出错 MY R.java 丢失

android - 在 Android 应用程序中打开文件的 Intent 过滤器出现问题

android - 使用 android 作为服务器和浏览器作为客户端创建 websocket 握手

ruby-on-rails - 带有 gmaps4rails 的谷歌地图中的不同标记

android - 谷歌地图 APIv2 : Failed to find provider info for com. google.settings。已设置 API key 和互联网权限

java - Android - 将按钮与编辑 View 对齐稍微关闭