6

最近、IntelliJ ベースの新しいAndroid Studio IDEに移行しました

私が従ったガイドは次のとおりです。

  1. https://developers.google.com/maps/documentation/android/start (基本用)

  2. Google Maps Api v2 を使用する Android Studio で Android アプリケーションを作成するにはどうすればよいですか? (必要な 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"/>

何が悪かったのか知りたいです。どんな助けでも歓迎です

4

2 に答える 2

3

新しいプロジェクトを作成していたことを除いて、同じ手順に従っていました。プロジェクト構造の下で、Android-Gradle ファセットを削除し、正常にビルドできました。必要に応じて、gradle ビルド ファイルを更新し、Android-Gradle ファセットを Play サービス ライブラリに追加できます。

注: Google Play Services ディレクトリの名前を変更しました。

build.gradleGoogle Play Services ライブラリ用。

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
    }
}
于 2013-05-21T13:55:06.337 に答える
0

まず、エラーに関する詳細情報を提供する必要があります。外部コンパイラを使用する代わりに、内部コンパイラを使用する必要があります (コンパイラの設定を変更します)。

于 2013-05-19T15:30:17.247 に答える