今日の一言
2011/05/24(Tue) 雨ー [長年日記] 6:00現在霧雨 15℃
_ [Android][GALAXY S][Windows][Ubuntu][Linux][FC][Debian][OpenGL]googleのサンプルコードを使ってAndroid上で簡単にOpenGLプログラムを動かす
参考:
http://www.saturn.dti.ne.jp/~npaka/android/OpenGL/index.html http://d.hatena.ne.jp/shuichi_h/20100602/1275491131 http://android.keicode.com/basics/opengl-overview.php http://d.hatena.ne.jp/hasuie/20091020/1256038188 http://d.hatena.ne.jp/skelton_boy/20091007
サンプルプログラム(AndroidGL)のDL
Android上でOpenglを動かすためには、「OpenGL ES」という組み込み用のOpenGLが必要だったり、JavaやAndroidプログラミングの手法など、事前に準備・勉強すべきことがいろいろある。
だが、googleが提供している「android-gl」というサンプルコードを使うと、その辺をすっ飛ばして、とりあえずAndroid上でOpenGLを動かすことができる。
まず、こちら(http://code.google.com/p/android-gl/)から「AndroidGL」(現在の最新は「AndroidGL-0.4.zip」)をDLする。
DLが完了したら、そのファイルを解凍し、eclipseのworkspace内に配置する。
あとはこれをEclipse上でインポートすればいいだけなのだが、このままではエラーが出るため、次の部分を修正する。
修正点
まず、解凍したディレクトリ内に「default.properties」が存在しないため、そのままだとコンソール上に
Project has no default.properties file! Edit the project properties to set one.
というエラーが出る。
これは、Eclipse上で適当なAndroidプロジェクトを作成し、生成された「default.properties」を「AndoridGL」直下にコピーすれば解決できる。
※コピーした後にインポートすること!インポートしたあとでコピーしてもエラーは消えないので注意。その場合はプロジェクトを右クリックし、「リフレッシュ」すればいいはず。
参考までに、「default.properties」の中身はこんな感じ。
# This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize properties used by the Ant build system use, # "build.properties", and override values to adapt the script to your # project structure. # Project target. target=android-7
また、
エラー: Unable to open class file C:\Program Files (x86)\eclipse\workspace\AndroidGL\gen\edu\union\R.java: No such file or directory
といったエラーが出て「R.java」が「gen」以下に自動生成されるが、このサンプルプログラムでは「src」以下にも「R.java」が存在するため、このままだと「R.java」が2重で定義されることになる。
そのため、「src」以下にある「R.java」を削除する。
続けて、
C:\Program Files (x86)\eclipse\workspace\AndroidGL\res\layout\main.xml:7: 警告: found plain 'id' attribute; did you mean the new 'android:id' name?
といったエラーに対しては、「main.xml」を開き、
<TextView id="@+id/text"
となっている部分を、
<TextView android:id="@+id/text"
に書き直せばOK。
また、自分の場合は出なかったが、
Application does not specify an API level requirement!
といったエラーが出た場合は、以下の感じで「AndroidManifest.xml」に妥当なプラットフォームバージョンのAPIレベルを指定する必要があるらしい。
<manifest> ... <uses-sdk android:minSdkVersion="3" /> ... </manifest>
サンプルのインポート
以上の修正が終わったら、Eclipseを起動し「ファイル」→「インポート」から「一般」→「既存プロジェクトをワークスペースへ」を選択して「次へ」。
「ルートディレクトリの選択」から、先ほどのサンプルプログラムが入ったディレクトリ(「AndoridGL」)を選択し「完了」を押す。
これで、「実行」→「実行」すると、エミュレータ内でプログラムが実行できる。
エミュレータが起動したら、「Menu」ボタンを押し、プログラムを走らせる。
すると「Press the menu button & select a tutrial」というメッセージが出るので、それに従って「Menu」ボタンを押し、実行したいチュートリアルをクリックする。
これで、選んだチュートリアルのサンプルプログラムが実行されるはず。
あとは、これを参考に自作プログラムを作るのみ!
以上!