スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。

native開発環境

なんとなく作った

× native実行ファイルを構築する環境
○ nativeで実行ファイルを構築する環境

android native環境構築メモ
http://chirorijp.web.fc2.com/index.html

メモ整理が面倒なのでそのまま

手持ちのPCが非力(001HTに劣る)なので
Android上で構築してしまえばいいじゃないかと思ったが、

nativeのNDKでlibを作る

PCへlibをadb pull

PCでlibをapkへ盛り込む

adb install

と結局PCを使わなければならず使い勝手が悪い



ところで、何故今更NDKなのかというと
・描画処理を実装するには/dev/graphics/fb0への書き込み権限が必要
・つまりroot権限が必要
・root化は前提にしたくない
・setuidはカーネルにより権限拒否される
・つまりglibcで吉里吉里をネイティブ構築するのは不可能
という訳で断念

あー
遠回り

Dalvikからできた事

以下001HT(Android2.2)の話

assetsからfilesへコピーしたファイルに対して
java.lang.ProcessBuilder経由でchmodが可能

さらにjava.lang.ProcessBuilder経由で実行可能

app_*ユーザなら色々できそう

続きを読む

ADBで001HTの中を見た

QEMUと比べると反応が段違いに良い
lsの表示とか感動

入っている物は普通の印象

ls → 使える
mkdir → 使えるけど-pは使えない(QEMUと同様)
chmod → Operation not permitted
adb pushで入れた静的実行ファイル → permission denied

shellユーザではお手上げ

続きを読む

実機買った

経緯

描画処理はどうやって実装するか

OpenGLにするか

Mesa3Dがある

libX11が必要

何か色々必要

色々ビルドしてみる

クロスコンパイルではビルド環境の設定が混入するので回避が面倒

SDK付属のQEMUでネイティブコンパイルを試みる

CPUとかHDDのエミュレーションが遅い

1.6GHzだとgccのコンパイルだけでも4日(96時間)以上かかる

実機なら何とかなるんじゃないかと期待

で、購入


SoftBank 001HT HTC Desire HD
スペックと価格で決定

Androidでglibc(7) Boost.Regex

TJS2エンジンで使用する正規表現ライブラリ
Boost.Regexをビルドする


Boost C++ Libraries
http://www.boost.org/

boost_1_46_1.tar.gzをダウンロード
(現時点では1.46.1が最新)

Cygwin上で展開
$ gzip -dc boost_1_46_1.tar.gz | tar xvf -

Regexライブラリのみビルドする
Android向けに以下のファイルを修正

boost_1_46_1/libs/regex/build/gcc-shared.mak

CXX=g++
LINKER=g++ -shared

CXX=arm-none-linux-gnueabi-g++
LINKER=arm-none-linux-gnueabi-g++ -shared -Wl,-Bsymbolic -Wl,-soname,libboost_regex-gcc-1_46.so
ICU_PATH=d:/dev/cygwin/opt/local

コンパイラ、リンカはCodeSourceryのを使う
ICU_PATHはWindows式で


後はbuildディレクトリでmakeするだけ
$ cd boost_1_46_1/libs/regex/build
$ make -f gcc-shared.mak

boost_1_46_1/libs/regex/build/gccにsoファイルが出来上がるので
/opt/local/libへコピー

ヘッダファイルは
boost_1_46_1/boost/regex以下を
/opt/local/include/boost/regexへコピー

これで終わり
最新記事
最新コメント
カテゴリ
検索フォーム