41

GoogleMap でアプリを作成しようとして Android Studio で多くの問題を抱えています。

IDEとしてEclipseを使用して(ほとんど)問題なく、以前に次のガイドに従いました。

https://developers.google.com/maps/documentation/android/start

これまで Android Studio を使用したことがなく、プロジェクト/モジュール パラダイム全体に問題があります。

Google Play Services SDK http://developer.android.com/google/play-services/setup.htmlを正常に構成できませんでした

これは私が得ている奇妙なエラーの1つです:

グレード:
FAILURE: ビルドは例外で失敗しました。

* 何が悪かったのか:
タスク ':MyMapApp:compileDebug' の実行に失敗しました。
> コンパイルに失敗しました。詳細については、コンパイラ エラー出力を参照してください。

* 試す:
--stacktrace オプションを指定して実行し、スタック トレースを取得します。--info または --debug オプションを指定して実行し、より多くのログ出力を取得します。
4

7 に答える 7

9

これに関する多くのチュートリアルを試して失敗しましたが、最終的にAndroid Studioとgradleで動作するように見える簡単な解決策を見つけました

Mac に Android Studio 0.2.3 をインストールしました。これらの手順を実行すると、新しい hello world プロジェクト テンプレートでマップ フラグメントが表示されます。

1) Android Studio のツールバーにある SDK マネージャー ボタンをクリックします。

2) [その他] で [Google Play サービス] を見つけてダウンロードします。

3) src ディレクトリの build.gradle ファイルで、次の行を依存関係に追加します。

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) デバイスでプロジェクトを実行できるようになります。

于 2013-08-07T21:30:34.887 に答える
3

これは私が作成したプロジェクトの構成で、Google Maps API V2、 in Android Studio 0.2、、およびカスタムなどgradle 0.5.+.の他のモジュールも使用されています。ActiobarSherlockNumberPicker

プロジェクトの構造:

ここに画像の説明を入力

1) TOP ディレクトリ settings.gradle:

include ':SuperModule', ':libraries:actionbarsherlock', ':libraries:numberPicker'

2) トップディレクトリ build.gradle

task assemble {}

(あなたの中には、タスク assemble が見つからないことに直面する人もいるかもしれません。それが、この行を入れた理由です!)

3) スーパーモジュール build.gradle

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

dependencies {
    compile 'com.google.android.gms:play-services:3.1.36'
    compile 'com.android.support:gridlayout-v7:13.0.0'
    compile project(':libraries:actionbarsherlock')
    compile project(':libraries:numberPicker')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 16
    }
}

ここで依存関係に注意してください。その actiobarSherlock(ABS) と NumberPicker は、android ライブラリとして使用されます。また、Play Services も使用します (最小 SDK が >=8 である必要があるのはそのためです)。ABS ライブラリに含まれているため、レイアウト ライブラリ (スペース要素用) サポート ライブラリはここには含まれていません!

アクションバー Sherlock build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android-library'

dependencies {
    compile 'com.android.support:support-v4:13.0.0'
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        instrumentTest.setRoot('tests')
    }
}

NumberPicker build.gradle は、他のものと同じロジックを持っているため、表示されません..

于 2013-07-15T20:43:36.497 に答える
1

同様の問題がありましたが、com.google.android.gms.maps パッケージが見つからなかっただけです (存在しないと言い続けていました)。これは、Google 自身のドキュメントの移行チュートリアルに従って、(一見) すべてを適切にインポートした後でした: http://developer.android.com/sdk/installing/migrate.html

とにかく、すべてをインポートした後も、まだ問題があり、ビルド パス (または Eclipse 以外の同等のもの) を設定する方法がわかりませんでした。

以下のチュートリアルの半分に従い、モジュール設定ウィンドウに既にリストされている google-play-services ライブラリを削除してから、再度追加する必要がありました。

これが他の誰かに役立つことを願っています。

于 2013-05-16T22:45:30.693 に答える