0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Mapbox】Android用Mapbox Maps SDKのアプリ作成での注意点

Last updated at Posted at 2020-08-14

はじめに

Android用Mapbox Maps SDKを参考にはじめてのMapboxアプリを作成しているときに直面したエラーにかなりハマったため、共有します。
この記事では、環境構築からMapboxのチュートリアルで簡単なAndroidアプリを起動するまで、を対象としています。
以下のURLを参考にアプリを作成しようとした時に、自分がハマったところをポイントで抜き出してまとめています。

https://docs.mapbox.com/android/maps/overview/#add-the-dependency
https://docs.mapbox.com/android/maps/overview/#install-the-maps-sdk
https://docs.mapbox.com/help/tutorials/first-steps-android-sdk/
https://www.youtube.com/watch?v=VzQEbGyGe4E

事前準備

Mapboxのアカウントを作成する必要があります。
サインアップをして以下のアカウント画面が表示されるとOKです。
一部情報は隠しています。「SECRET TOKEN」と書いてある場所は後で説明するAndroidアプリをビルドするときに発行して使用します。
image.png

実行環境

  • Windows 10
  • Android Studio (Kotlin)

image.png

SDK初期設定

MapboxのAndroidアプリを作成するときには、はじめに、Mapbox Maps SDKから初期設定をする必要があります。
そこで中段付近に、依存関係について記載されている章があります。
image.png

ここで、右側の「Direct download」のタブを選択して、そのまま進めてしまうと、アプリを作成することはできるのですが、タップして起動しようとした時にすぐに、強制終了してしまいます。

少し調べると、どうやら「Direct download」ではプロセスが機能しておらず、「Maven」でセットアップしてくれ、ということでした。
https://stackoverflow.com/questions/63066242/mapbox-android-sdk-error-java-lang-classnotfoundexception-didnt-find-class

Mavenのタブを選択して、セットアップを進めます。
image.png

注意点

  • 4.はModuleのbuild.gradleです。

image.png
image.png

  • 5.はProjextのbuild.gradleです。ここのusernameとpasswordは変更しなくて大丈夫でした。
    MAPBOX_DOWNLOADS_TOKENの中身(シークレットトークン)はgradle.propertiesに追記します。

image.png

image.png

  • シークレットトークンは以下を選択して発行しましたが、「DOWNLOADS:READ」にチェックが入っていればいいとのことです。シークレットトークンは発行した直後は表示されていますが、リロードやページ遷移をすると、隠されてしまうのでコピーします。
    image.png

  • シークレットトークンは«USER_HOME»/.gradle/gradle.propertiesファイルに記載します。
    gradle.propertiesがない場合は、新規ファイルで生成します。
    image.png

  • Android Studioの設定でGradleのパスを設定および確認します。
    image.png
    この設定で、gradle.propertiesのファイルの中身(シークレットトークン)をAndroid Studioで確認することができます。
    image.png

  • アクセストークンはres > values > strings.xmlに記載します。
    image.png

  • MainActivityにはimportを記載する
    image.png

あとは、URLのチュートリアル通りに、MainActivityやAndroidManifest.xml、acrivity_mainを追記していきます。

エラーがないことを確認して、実行すると、マップが表示されます。
image.png

余談

SDKのインポート時に「Could not resolve com.mapbox.mapboxsdk:mapbox-android-sdk:9.3.0」というエラーメッセージが出て、なかなか解決できずかなりハマってしまいました。。
シークレットトークンを何回も発行したり、依存関係を見直したり、gradle.propetiesを確認したり色々試しました。
最終的には、usernameをMapboxの登録の名前にしていたため、デフォルトのmapboxに設定するとうまくいった気がします。ただ、今ではMapbox登録アカウント名でも問題なくSDKのインポートとビルドができます、、
image.png

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?