Android Studio中编译错误:创建一个简单的Google Android Maps API v2项目时

6

最近我迁移到了基于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"/>

我想知道出了什么问题。任何帮助都将不胜感激。


最后,我受够了这个问题,切换回Eclipse IDE(Juno)。错误消失了,地图现在正常工作了...但我还没有关闭这个问题,因为我需要知道是什么导致Gradle-Android Studio出现这样的错误... - niranjan94
2个回答

3
我按照相同的指示操作,只是在创建一个新项目。在项目结构下,我删除了Android-Gradle方面,然后就可以成功编译了。可选地,您可以更新gradle构建文件并将Android-Gradle facet添加到播放服务库中。
注意:我更改了Google Play Services目录的名称。
Google Play Services库的build.gradle文件。
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
    }
}

这对我有用,尽管我不得不将以下内容添加到settings.gradle中:include ':google-play-services_lib' - lepoetemaudit
对于那些想要将google-play-services_lib作为Gradle项目导入到Android Studio中的人,请参考以下链接:https://dev59.com/eGQn5IYBdhLWcg3wP1NU - opyate

0

首先,您必须提供更多关于错误的信息。您可以尝试使用内部编译器(更改编译器设置)而不是使用外部编译器。


关闭外部编译器选项后,您将获得有关错误的更多信息。 - androidtester

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接