技術ネタ

スポンサーリンク
Technical

AndroidでNativeのデバッグが(未だに?)できない件

Debug Native JNI code on Android emulator - Android Developers | Google Groups いまだに本家フォーラムにこの事象の質問が上がってくるということは、まだ直ってないのかなぁ...。 一ヶ月くらい前に同じ現象で悩んだまま放置してたんだけど。 NDKに付いているgdbserverとgdbはcupcakeのバージョンと一緒なのかな...
Technical

Androidのエミュレータでsystem.imgとかを差し替えるときに気をつけること

Androidのエミュレータが使うシステムイメージなどのファイルは、例えばWindows環境だと C:\android-sdk-windows-1.5_r2\platforms\android-1.5\images にある、system.img、userdata.img、ramdisk.imgだったりすると思っていたのだけど、AVDを作って一度でもエミュレータを起動すると、 C:\Document...
Technical

Android 1.5 NDK, Release 1

Android 1.5 NDK, Release 1 | Android Developers NDK出てきましたね。 中身は確認してないけど、ドキュメントとか多少は含まれてるんだろうか?それとも単にフルソースからの抜粋だけなのか...。 あとで確認しよう。...
Technical

開発用にAndroidシステムのセキュリティレベルを下げる

Native層からSurfaceを扱うコードを書いたのだけど、ACCESS_SURFACE_FLINGERの権限が無いと警告が出てAPIが動いてくれない。 Androidはセキュリティ確保のためにシステムリソースへのアクセスに制限がかかっていて、特にACCESS_SURFACE_FLINGERの場合は署名付きアプリにしないといけないようだ。 で、署名付きアプリの作り方はググるといろいろ出てくるのだ...
Technical

AndroidのフルソースからビルドしたエミュレータでSDを認識しない場合

タイトルそのままなんだけど、私の環境で発生して解決できたようなのでメモ。 AVDを使わずに、フルソースをビルドして出来上がった各種イメージファイル(out/target/product/generic/system.imgなど)を使ってエミュレータを起動した場合(emulatorのパラメータで-system/-ramdisk/-kernelなどを付けたとき)、-sdcardでSDイメージファイルを...
Technical

Android解析進まず

週末もいろいろAndroidの解析をやってみたのだけど、ほとんど進んでない。 一番知りたいSurface周りはまったくと言って良いほど。Surafce,ISurface,SurfaceComposer,SurfaceComposerClient,SurfaceFlingerなど関連クラスがいろいろあるのだけど、その関連性もよく分かってないまま。 システム構成には"SurfaceManager"とい...
Technical

Androidのコア部分のデバッグは…?

AndroidのNativeのシステム、ライブラリなどのデバッグをしたいのだけど、やり方が今ひとつわからない。 gdb使うのは間違いないけど、ソースレベルデバッグするためのシンボルとかはあるんだろうか。フルソースをビルドすると作られたりするのかなぁ...? やりたいのは、エミュレータにgdbリモート接続して、mediaserverなどの動きを見たいのよね。 自分で作ったNativeモジュールなら、...
Technical

AndroidのNative層でのログ出力

まだ調査中だけどとりあえず動いているのでメモ。 (1)LOG出力の際のタグの定義と、Log.hのインクルード warningが出るのでLOG_TAGはundefしておいたほうが良いはず。 #define LOG_TAG "JNI-Test" #include <utils/Log.h> ちなみにLog.hの場所は以下。 frameworks/base/include...
Technical

Anrdoidのエミュレータ起動中にSDをマウント・アンマウントする

エミュレータ起動時にSDカードイメージを指定する例はたくさん見かけたけど、起動後に動的にやるのはあまり見かけなかったのでメモ。 SDからファイルを読むようなアプリで突然SDを抜かれたり、差されたりしたときの挙動を確認したいときに。 (1)emuratorコマンドでエミュレータを起動する(SDイメージ有りのAVDを使う) (2)"adb shell"コマンドでエミュレータに接続 (3)"sdutil...
Technical

x86で動くAndroidのLiveCD”live-android”

live-android - Google Code Android本家フォーラムを眺めていたときに見つけたもの。 LiveCD形式のためPCにインストールしなくてもAndroidを動かしてみることができる。 VirtualBoxでブートさせてみたところ、時々Androidのエラーが表示されるけれどキーボードでフォーカスを移動することで操作できる。一部起動しないアプリがあった(メーラーとか)。 キ...
スポンサーリンク