Android NDK

android

since 2012-01-12

<html> <div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;margin:0px 12px 1px 0px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798030430/r4wh-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41uiCSFXc3L._SL160_.jpg" alt="Android NDKネイティブプログラミング" style="border: none;" /></a></div><div class="amazlet-info" style="line-height:120%; margin-bottom: 10px"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798030430/r4wh-22/ref=nosim/" name="amazletlink" target="_blank">Android NDKネイティブプログラミング</a><div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/4798030430/r4wh-22/ref=nosim/" title="Android NDKネイティブプログラミング" target="_blank">amazlet</a> at 12.01.12</div></div><div class="amazlet-detail">出村 成和 <br />秀和システム <br />売り上げランキング: 8225<br /></div><div class="amazlet-sub-info" style="float: left;"><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798030430/r4wh-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div></div><div class="amazlet-footer" style="clear: left"></div></div> </html>

最初の方に JNI の基本が分かりやすくまとまっている。後半のアーキテクチャや最適化の情報も有用。

サポートページ には書かれていないけれど、p.240 の「利用できるARM命令セットを判別する」は android_getCpuFamily() ではなく android_getCpuFeatures() のような気がする。。

   if (android_getCpuFamily() == ANDROID_CPU_FAMILY_ARM &&
        (android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0)

よく見たら p.273 (10.02.04) にはちゃんと上記のように書かれていた。

直してみたら、 HTC EVO WiMAX ISW11HT は ARMv7 VFPv3 NEON すべて利用できるとのこと。。

OpenSL

オーディオ処理は OpenSL|ES for Android というライブラリ。

http://mobilepearls.com/labs/native-android-api/opensles/index.html

android-ndk-r6b/samples/native-audio のサンプルをビルドして実機 (Android 2.3.4) で動作を確認した。

オーディオ出力だけはエミュレーターでも動くようだ。。

外部ライブラリの利用

x86エミュレーター

since 2012-03-22

http://d.hatena.ne.jp/tarosay/20120126/1327608537

NDK-r7b で

$ ndk-build APP_ABI=all

して apk を作ったら SDK R17 + emulator-x86 で動いた。

Installing the Intel Atom Android x86 Emulator Image Add-on from the Android SDK Manager http://intel.ly/GILC3C

音声出力は動いたが、音声入力は動かなかった。

なお ndk-build のオプションで指定したら x86 がビルドされるが jni/Android.mk で APP_ABI := x86 (all) を指定しても無視された。

Hardware Accelerated Execution Manager (Intel HAXM)

NDK r8d

since 2013-03-14

http://developer.android.com/tools/sdk/ndk/index.html

android-ndk-r8d-darwin-x86.tar.bz2

android_ndk.txt · 最終更新: 2013/03/14 17:06 by Takuya Nishimoto
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0