SAITOUの書きなぐりメモ

さいとーの趣味と生活を垂れ流しています。

OSがクラッシュして・・・

東京来て早々にOSがクラッシュして再インスコしたんですが
そのせいで、開発環境も全部ふっとみ今、入れなおしてたんですがどうもAndroidADTプラグインがEclipse3.4に対応してない。

ずっと3.4使ってたんでインストールできなくてあせった・・・・
とりあえず、まだ3.5では使えるようです。

仕事が決まって・・・

って、就職決まったー!って記事も書いてなかったのか。俺は。
と、とりあえず近況報告としては3月頭からインターンで東京に来てそのまま内定って感じです。

まぁ、まだ契約書とか書いてないからすんごい微妙なんだけども・・・
4月からは契約社員って事でなんとか職が見つかりました。
もちろん、プログラマーで。
一応、ゲーム会社だけどまだ直接ゲームのプログラムは書いてなくてー・・・
てか、会社がデザイン系の会社でプログラマーが自分ひとりだけって事もあって
とりあえず、今はデザイナーさん向けのツール作ったりプラグイン作ったりしてます。

その関係でSoftimageのプラグインを作っててPythonをいじってます。
とりあえず、最近はそんな感じです。

あけました。

mixiにも同じタイトルの日記を書いたけど、内容は違うからw

と、言うわけで新年明けましておめでとうございます。
本年もいい一年だといいですねぇ〜!


とまぁ、硬っ苦しい挨拶はこんなもんにして(どこが硬いんだか)この書きなぐりメモですが
「メモ」ってぐらいなんだから、「書きなぐり」って言うことなんだから
かるーく思ったことを書こうと思ってたんですが
本当に、最近硬いネタしか書いてない。
もっと技術以外の事も書いていこうと思います。

昔みたいに、もっと鬱々なブログにしてもええんではないだろうかと
そんぐらいの心積もりじゃないとたぶんかけないと思うのでw
文字を並べるのは嫌いじゃないんですが最近は本当にやってなかった。
うん、なんか就職活動が済んでないのにこんなこと・・・みたいなの思ってたんですが
結局ゲームしてるし、もう好きなことして。好きなこととして、好きな子とシテ(オイw
就活しようかと思います。

あ、ついでに言うと彼女とかいないんで募集してますwww
ゲーム好きでSkype使える方、とりあえずお話からどうですか?www

Android NDK

先に、Android NDKについていまいちわかってない人が書くんで情報が間違ってたらごめんなさい。
と、言うわけでWindows環境でAndroid NDKを動かしてみたのでそれのレポートみたいなのを書きたいと思います。

まず、Android NDKって何ができる?って話なのですが、早い話CとかC++で書いたコードを使えるようにできます。

それ自体はNDKじゃなくてどうもJNIって物があるようなのですがこっちに関してはそういうインターフェースがあります程度に今回は触れておきます。
この記事で書きたいのはWindows上でAndroid NDKを動かす方法です。
僕のわかりにくい日本語を読むよりGoogleのドキュメント読んだほうが正確でわかりやすいかもなのでリンクはっておきます。
http://developer.android.com/sdk/ndk/index.html


Androidの開発環境構築に関しては以前に書いた気がする(Xperia向けアプリを作る)ので省略
新たに準備しなければいけないものは2つ。

Android NDK (http://developer.android.com/sdk/ndk/index.html)
Cygwin (http://cygwin.com/)


上は当然わかると思うのですがCygwinってのはなんだろなーって人。
ざっくり言うとWindows上でUnixを体験できるツールだと思ってください。
Cで書いたコードをコンパイルする際にmakeというコマンドを使うのですがWindowsではmakeコマンドがないので
このツールを使います。
インストール方法はこちらに丁寧に書かれていたので引用
http://d.hatena.ne.jp/bs-android/20090707/1246952991

ほとんどこの上の記事で解決しちゃうんですが(ぁw
なぜ今回記事を書こうかと思ったかというと。
Android NDK r5からいろいろ変わったみたいで、自分がうまくできなかったからですw
ついでに、一番最初に参考にしてたサイトのURLはこちら
http://labs.techfirm.co.jp/android/iguchi/1782


Cygwinをインストールできたら上に張ったURLを参考にCのソースとメイクファイルを作ります。
ただ、r5から(?)host-setup.shってのがなくなってるのでそれは無視してもらってかまいません。

あと、jniの中に
calculate.c
Android.mk
Application.mk
を書いてください。

calculate.cに書く関数名ですがあれは
jstring Java_+ パッケージ名 + Javaのクラス名 + つけたい関数名( JNIEnv* env, jobject thiz )
みたいです。間の.を_に変えて書きます。

そして一番違うのがコンパイル方法です。

ドキュメントの翻訳を見てみると

1。 <プロジェクト> / jniの下で、あなたのネイティブソースをプレイス/ ...
2。作成は、/ jniは/ Android.mkは、システムを構築するNDKして、あなたのネイティブソースを記述するために
3。オプションは:/ Application.mk / jniの<プロジェクトを作成します。
4。プロジェクトのディレクトリからスクリプトを'ndk -ビルド'を実行してビルドして、ネイティブコード。これは、トップレベルNDKのディレクトリに格納されて:

CDの<プロジェクト>
/ ndk - buildの

ツールは、アプリケーションのプロジェクトディレクトリ内の適切な場所にアプリケーションで必要な最低限の、共有ライブラリをコピーしてビルドします。
5。最後に、通常の方法でSDKツールを使用してアプリケーションをコンパイルしてください。 SDKツールは、アプリケーションのデプロイ。apkファイルの共有ライブラリをパッケージ化するビルドします。


1〜3はメイクファイルとディレクトリ構成の話。
最後の5はいつもどおりに実行すればいいよーみたいなかんじ。

んで、4ですがここがコンパイルについての記載です。
英語の原文を見ると「はは〜ん」となる方も多いと思いますが
まず、Cygwinを起動してディレクトリを移動して今回作成したプロジェクトフォルダまでいきます。
僕の場合

cd /cygdrive/c/user/workspace/test/

そしたらいよいよコンパイルするコマンド
NDKの中にある /ndk-build これを実行しましょう。
僕の場合

/cygdrive/c/cygwin/home/sai/android-ndk-r5/ndk-build


これがうまく出来たらlibcalculate.soってファイルがEclipse内でも確認できるはずです。
(F5などを押してリフレッシュするとでてくる)
これでうまくいくといいですね!!



ついでに僕はずっとvisual studioを使っていて久々にメイクファイル書いたのですが
打ち間違いをしていて、libcalculate.soは作られるのにうまくいきませんでした。
メイクファイル内にバグがあるとみつけるのが面倒かもです、書くときは気をつけましょう。

自分の考察してみた

就職活動とかとかでなかなかブログが書けなかったわけですが
バイトがなくなったのもあって、いろいろ考えてみた。


とりあえず、なんとなく出てきた結論としては
自分は問題に対する答えを出すのが好き。




あれー・・・何かこうと思ったんだっけ?w