準備
Androidプロジェクトの作成
Android Studioを起動したら[Start a new Android Studio Project]を選んで、新しいプロジェクトを作成します。今回は、アプリケーション名を「CZ1601Location」としました。
Wikitude自体はAndroid 4.0(APIレベル14)以上であれば動作しますが、これから作成するのであれば、Android Studioの助言に従ってAndroid 5.0(APIレベル21)で作成するのがよいでしょう。
ARを表示する画面自体はシンプルなもので十分なので、作成する画面はEmpty Activityで十分です。
Wikitude.aarファイルの設置
Wikitude SDKはaar(Android archive)ファイルとして提供されています。
Wikutude SDKは、グレープシティWikitudeサイトのダウンロードページからダウンロードができます。ダウンロードするためにはアカウントを作成しサイトにログインする必要があります。
Wikitude SDKダウンロードページには、Android用、iOS用などOSごとにダウンロードファイルが用意されています。今回は、Android用のサンプルを作成するので、wikitude-sdk-android-511.zipファイル(最新バージョンが執筆時点と同じ5.1.1だった場合)をダウンロードします。
ダウンロードしたWikitude SDKのzipファイルを展開すると、wikitude-sdk-android-511¥Libraryフォルダにwikitudesdk.aarファイルがあり、これをAndroidプロジェクトにコピーします。一度、Android Studioを終了させて、Androidプロジェクトを作成したフォルダのapp¥libsフォルダに、wikitudesdk.aarファイルをコピーします。
コピーが完了したら再びAndroid Studioを起動します。
build.gradle(Modelue.app)の編集
Android Studioでbuild.gradle(Modelue.app)を開き内容を書き換えます。
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile (name: 'wikitudesdk', ext:'aar') compile 'com.android.support:appcompat-v7:23.1.1' } repositories { flatDir{ dirs 'libs' } }
今回は、無料で利用できるトライアル版ライセンスキーを使うので設定は不要ですが、もし、製品ライセンスキーを使うときは、build.gradle (Modelue.app)のapplicationIdの内容を登録します。
AndroidManifest.xmlに権限追加
ARではスマホのカメラを使用し、ロケーションベース型ARではスマホの現在位置を使います。そこで、カメラやGPSなどのロケーション、方位を測定するコンパスなどの使用権限を、AndroidManifest.xmlファイルに追加します。
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_GPS" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-feature android:name="android.hardware.camera" android:required="true" /> <uses-feature android:name="android.hardware.location" android:required="true" /> <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" /> <uses-feature android:name="android.hardware.sensor.compass" android:required="true" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-sdk android:targetSdkVersion="21" android:minSdkVersion="21"/>
次に画面回転時などに画面表示が自動的に制御されないように、MainActivityに対してScreenSizeとorientation権限も与えておきます。
<activity android:name=".MainActivity" android:configChanges="orientation|keyboardHidden|screenSize">