ラベル Android開発 の投稿を表示しています。 すべての投稿を表示
ラベル Android開発 の投稿を表示しています。 すべての投稿を表示

2014年8月7日木曜日

Android開発環境にARアプリ開発用ライブラリ「Vuforia」を導入してサンプルを動作させるまで

ARアプリを作りたくなりました
というわけで、AndroidでARアプリを作る方法をググると、とりあえず3つのライブラリが見つかりました

1,NyARToolkit
2,AndAR
3,Vuforia

で、どれが良いの?と気になるところですが、3つの比較をするような記事は見つかりませんでした
検索しても、Stack Overflowで「Q - NyARToolkitとAndARってどっちが良いの? A - Vuforiaがいいと思うよ」という質問コメントが見つかるくらいです

とりあえず、それぞれのサンプルなんかを調べたりした結果、Vuforiaのサンプルに目標のアプリに近いものがあったのでこれを使うことにします
(Vuforiaはサンプルアプリのapkをサンプルページで公開しているので、試しにインストールしてみるのもいいと思います)

導入はVuforia-SDKのDLページ
Android - Vuforia SDK v3.0
に行くと、丁寧に方法が書かれているので従ってみます
※OSは64bit_Windows7です。MacやLinuxでは導入の仕方が違うようなので公式の導入方法を個別参照して下さい。


Step 1:Setting Up the Development Environment

開発環境の構築です 参考:vuforiaのサンプルをビルドしてみる(1)
普通のAndroidアプリの開発環境に加えて、「Cygwin」「Android NDK」が必要とあります
ただし、それはVuforia-2.8までのようで、現在はネイティブ部分(C++部分)をいじらない人には必要ないようです

ですが、一応両方の導入方法を書いておきます
Javaしか弄らない人はStep 2に進んで問題ないはずです

普通のAndroidアプリ開発環境は
Android 4.0でアプリ開発を始めるための環境構築 を参考にすると良いです


1, Cygwin
Cygwinのサイト から"setup.exe"をDLして、起動します
・インストールタイプに"Install from internet"を選ぶ
・Select Packages では All -> Devel -> "make:The GNU version of the 'make' utility" を選ぶ(Skipの部分をクリック)、Vuforiaでは3.82-90が最新のようなので一応そのVerにしておく



2, Android NDK
http://developer.android.com/tools/sdk/ndk/index.html から、zipファイルをDLして解凍します
解凍された"android-ndk-rxx"を"android-SDK"と同じフォルダに置きます
(私の場合Android-SDKは"(ユーザー)\AppData\Local\Android"にありました)

その後、NDKのフォルダを環境変数のPATHに通しておきます

Step 1.5
ここで一応、CigwinとNDKが正常に導入されたかどうか確認します

・CigwinのTerminalを起動します(初回起動時、自動的に".bash_profile"等の4つのファイルがが"C:\cygwin\home\sdk"に作成されます)
・順番に以下の2つのコマンドを入力します
cd /cygdrive/C/(NDKのあるディレクトリ)/android-ndk-r10/samples/san-angeles
ndk-build
・NDKのサンプルプロジェクトがビルドされます(サンプルがsan-angelesなのはVuforiaでそうなっていたので特に意味は無いです)
・サンプルプロジェクトに、libs/armeabi/.soファイルが作成されたことを確認します


・Eclipseにインポートしてビルド、その後動作を確認します(私は大体実機デバッガーです)



こんな感じのよく分からない3D動画が流れたら成功です(タップで停止・再生するようです)


Step 2: Installing the Vuforia SDK

先のVuforia-SDKページにてDLしたZipファイルにSDKが含まれているので、NDKと同じように、Android-SDKと同じディレクトリに置きます

その後、Eclipseを開いて
Window->Preferences から Java->Build Path->Classpath Variables を選択し、Newで新しいPathを作ります



名前は"QCAR_SDK_ROOT"、PathはVuforia-sdkのフォルダ"vuforia-sdk-android-x-y-z"です


Step 3: Compiling and Running a Vuforia Sample App

あとはサンプルプロジェクトをビルドするだけです
サンプルは、Vuforia - Samples にあります

zipファイルを解凍してEclipseにインポートしたら、プロジェクトのproperties から Java Build Path->Order and Exportで
QCAR_SDK_ROOT/build/java/vuforia/Vuforia.jar にチェックが入っているか確認します

その後ビルドですが、サンプルプロジェクトとVuforia-sdkの位置関係ではエラーになります


まあ、これはエラーメッセージの通り、CopyVuforiaFiles.xml の4行目
<fileset dir="../../build/lib/armeabi-v7a"/> が存在しない。というだけなので
正しいPath("vuforia-sdk-android-3-0-9\build\lib\armeabi-v7a")を指定すれば良いです

以上で、プロジェクトをClean後にビルドして、私はVuforiaのサンプルファイルの動作を確認することが出来ました

サンプル内のImage Targetの動作



2014年7月31日木曜日

EclipseでADT(Android Development Tools)が更新できなかった

久しぶりにAndroidアプリを作ろうとEclipseを開いたら、EclipseからSDKが更新できませんでした
が、それ(failed to rename directory)は解決されました

で、次はADTが更新できません…

This Android SDK requires Android Developer Toolkit version ~ or above.
とか表示されて、ADTを最新版にするように言われるのですが
Check for Updateをしても「No updates were found」となります

【Android】【Eclipse】なぜかADT 22.3.0→22.6.1 に更新できない を参考に
Install New Software からADTを更新しようとしてみたのですが
The operation cannot be completed.でした

エラー内容は以下
Cannot complete the install because of a conflicting dependency.
  Software being installed: Android Development Tools 23.0.2.1259578
 Software currently installed: Android Development Tools 21.0.1.v201212060256-543035
え、いや、今インストールしようとしてる方がVer高いじゃん。どういうこと…


色んなページを参考にしても、この症状は見当たりませんでした(EclipseのVerが古い場合(3.5等)ではVerを上げることで更新出来た方も居ましたが、私のはVer4.2なので当てはまりません)

とりあえず、ADT周辺だけを再インストールすることにしました
先ほどのInstall New Softwareの右下辺りに
Whats is already installed?
というのがあるので、そこから既にインストールされているソフトを削除したり出来ます

その後もう一度インストールを試みて、最新バージョンの導入には成功したのですが、エラーの嵐が巻き起こり対処する気も失せました


で、結局もう面倒臭くなったので、Android開発用のEclipse環境そのものを再インストールしました
参考:Android 4.0でアプリ開発を始めるための環境構築

無用なバージョンの更新は避けたほうが無難ですね…

android SDK update の際に出るエラー「failed to rename directory」の対処法

参考元
Andoroid SDK ToolsのUpdateに失敗した時の対処法
SDKアップデートで「Failed to rename directory」エラーが出た場合の対処法


久しぶりにAndroidアプリを作ろうと思ってEclipseとSDK Managerを開いたら、SDK Toolsが更新されてるようでした。
で、まあ普通にアップデートしようとしたのですが

Failed to rename directory ~ PlatformToolPackage.old01

やら

-= Waring ! =-
 - javaw.exe(eclipse.exe)
are locking the follow directory:

とか、出て更新できません
どうやら、Eclipse自身がそれらファイルを使用中なため、ロックされてリネーム出来ないようです

なのでEclipseを閉じて、Android SDKのインストールフォルダ
(私:Windows7 のデフォ?は "C:\Users\sdk\AppData\Local\Android\android-sdk\tools" )から
"android.bat"を管理者権限で起動して、Android SDK Manager を起動すると更新でエラーは出なくなります


あと、たまたまRev22からAndroid sdk build tools とか言うのが必要になったみたいで、もう1回アップデートしなきゃならなくなりましたが、そこは問題ありませんでした


その後、Eclipseを起動したらADTも最新にしろと言われましたが
そのADTの方が問題でした(続く)