Android StudioでGoogleMapを使用してアプリを作成しようとすると、多くの問題が発生します。
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つがあります:
Gradle: FAILURE:ビルドは例外で失敗しました。 *問題点: タスク ':MyMapApp:compileDebug'の実行に失敗しました。 >コンパイルに失敗しました。詳細については、コンパイラエラー出力を参照してください。 * Try: スタックトレースを取得するには、-stacktraceオプションを指定して実行します。より多くのログ出力を取得するには、-infoまたは--debugオプションを使用して実行します。
最後に、Android Studio。を使用してGoogleMapsAPIv2プロジェクトを実行することができました。
編集:Xavierが述べたように、このメソッドは非gradleベースのプロジェクトでのみ機能します。このチュートリアルで使用されたUIパーツはAndroidStudioから除外されます。したがって、Gradleを使用する独自のプロジェクトがある場合ビルドシステムでは、Android Studio UIは影響しません。
EDIT2:AndroidStudio v0.1.1リリースでは、モジュールの依存関係を担当するUI部分が削除されたため、今のところbuild.gradleファイルを使用して依存関係を手動で更新する必要があります。リリース
EDIT3:まだこのアプローチを使用しようとする人のために-それは時代遅れであり、もう機能しないことに注意してください
ここに私がやったことがあります:
1)Google Play Servicesサンプルからmaps
プロジェクトを取得し、別のディレクトリにコピーしました。これが、実行しようとしているMapsApiV2プロジェクトになります。私のMacでは、<sdk_location>/extras/google/google_play_services/samples
にありました。~/Work/stack/
に配置しました
2)google-play-services_lib
プロジェクトディレクトリを同じ場所(~/Work/stack
)にコピーしたため、作業ディレクトリは次のようになります。ところで、libプロジェクトは<sdk_location>/extras/google/google_play_services/libproject
にあります:
3)では、Android Studio。ようこそ画面でImport Project
を押してmaps
プロジェクトを~/Work/stack/maps
からインポートします。多くの苦情が表示されます。 GMSライブラリへの不明な参照について:
4)次に、参照ライブラリとしてGoogle Play Serviceを追加する必要があります。 View -> Open Module Settings
に移動
5)[Modules
]タブで、[+
]ボタンをクリックし、Import Module
を選択して、GooglePlayServicesライブラリをインポートします。ウィザードでは何も変更しなかったので、最後までNext
をクリックしました。
6)次に、このインポートされたライブラリを参照する必要があります。この画面をもう一度開きます(View -> Module Settings
に移動します)。 maps
プロジェクトとDependency
タブが選択されていることを確認してください。 +
をクリックして依存関係を追加し、Library
を選択します。インポートしたライブラリを選択します:
7)これで、GMS
ライブラリについては文句を言っていませんが、サポートライブラリについては文句を言っていることがわかります。
8)修正しましょう。サポートライブラリは<sdk location>/extras/Android/support/v13/Android-support-v13.jar
にあります。それをワークスペースに追加してみましょう。 View -> Open Module Settings
に移動し、Libraries
タブを選択します。 +
-> Java
を選択し、サポートライブラリを選択します。
9)次に、このプロジェクトを追加するプロジェクトを尋ねるので、maps
プロジェクトを選択したことを確認してください。
10)この時点で、コードはw/o問題をコンパイルするはずです。マニフェストで正しいSDKバージョンをターゲットにしていることを確認してください。
楽しんで
私は新しいプロジェクトを作成していたことを除いて、同じ指示に従っていました。プロジェクト構造の下で、Android-Gradleファセットを削除し、正常にビルドすることができました。必要に応じて、gradleビルドファイルを更新し、Android-Gradleファセットをプレイサービスライブラリに追加できます。
注:Google Play Servicesディレクトリの名前を変更しました。
build.gradle
Google 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
}
}
私はこれに関する多くのチュートリアルを試しましたが失敗しましたが、最終的にAndroid Studio and gradle
ちょうどMacにAndroid Studio 0.2.3をインストールしました。これらは、新しいHello Worldプロジェクトテンプレートでマップフラグメントを表示する手順です。
1)Android Studio。]のツールバーの[SDKマネージャー]ボタンをクリックします。
2)[追加]で[Googleプレイサービス]を見つけてダウンロードします。
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)これで、デバイスでプロジェクトを実行できるようになります。
Google Maps API V2
でAndroid Studio 0.2
を使用するgradle 0.5.+.
を使用する、私が作成したプロジェクトの構成は次のとおりです。ActiobarSherlock
などの他のモジュール、およびカスタムNumberPicker
、そして誰かがそれらを必要とする場合に備えて、それらを残すだけです。
プロジェクト構造:
1)TOP Directory settings.gradle:
include ':SuperModule', ':libraries:actionbarsherlock', ':libraries:numberPicker'
2)TOPディレクトリbuild.gradle
task assemble {}
(一部の人は、見つからないタスクのアセンブルに直面するかもしれません。それがこの行を置く理由です!)
)SuperModule 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)、およびAndroid Libraries。として使用されるNumberPicker。 )サポートライブラリはABSライブラリに含まれているため、ここには含まれていません!
Actionbar 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は、他と同じロジックを持っているため表示されません。
記事を書き、Locationインターフェイスとgoogle map apiの両方を使用して地図アプリケーションを作成する手順を説明しました。これは、マップアプリケーションを起動して実行しようとしているときに遭遇した多くのイディオシンクラシーを通過します。これには、含めるSDK、インポートするライブラリ、Android= gradleファイルを変更する方法。これが役立つことを願っています
http://www.todroid.com/how-to-create-a-google-map-application-using-Android-studio/
私も同様の問題を抱えていました。モジュールのようなGoogle Play Servicesプロジェクトの代わりに、ライブラリのようなgoogle_play_services.jarのインポートを解決しました。
私も同様の問題を抱えていましたが、com.google.Android.gms.mapsパッケージが見つからなかったというだけでした(存在しないと言い続けていました)。これは、Googleのドキュメントの移行チュートリアルに従ってすべてを(一見)適切にインポートした後です。 http://developer.Android.com/sdk/installing/migrate.html
とにかく、すべてをインポートした後、私はまだ問題があり、ビルドパス(またはEclipse以外の同等物)の設定方法がわかりませんでした。
以下のチュートリアルの半分に従い、モジュール設定ウィンドウに既にリストされているgoogle-play-servicesライブラリを削除してから、再度追加する必要がありました。
これが他の誰かに役立つことを願っています。