Android NDK r4bを使っていろいろやってみてたのでちょっとまとめ。 (以下の内容はubuntu 10.04で使用した上で書いています。Macやwindows(cygwinが必要)だとちょっと違いがあるかも) 自分の理解では、Android NDKはネイティブ層アプリやライブラリのビルドを必要ソースのみで楽にビルドするためのツールです。 NDKを使わない場合ネイティブソースのビルドは、Androidのソースをgitで拾ってきてその中でmmコマンドなどを使ってビルドするのですが、NDKがあれば単体でビルドできます。 基本的使い方は、java層からJNIを使用した時に呼ばれるネイティブ層のライブラリを作るときに使用するもののようです。 単体ビルド 単体でビルドする場合、 ~/project/jni/ というディレクトリを作成し、Android.mkとビルド対象ソースをここに配置。 N
こんにちは。 ついにAndroid2.2がやってきました。 テザリングやFlash対応をはじめ、多くの新機能が追加されましたが、 やはり一番の注目は「JITコンパイラ搭載」ではないでしょうか。 JIT(Just In Time)コンパイラとは、Javaプログラムを実行前にネイティブコードに変換し、実行する方式のことで、 これにより2~5倍の高速化が見られるとか…! ということで、以前紹介した記事内での検証をAndroid 2.2端末で再検証してみたいと思います。 検証端末は次のものを使用しています。 前回:HT-03A (AndroidSDK 1.6) 今回:Nexus One (AndroidSDK 2.2) 絶対的な数値は端末が異なるため、あまり参考になりません。 nativeとjavaの相対比較に注目してください。 検証内容の詳細については過去の記事を参照してください。
AndroidにはNDK(Native Development Kit)という高速化のための仕組みが提供されています。 名前が示す通り、ネイティブプログラムを実行するためのSDKです。NDKを使えば、ソースコードをC/C++言語で記述して、高速にアプリケーションを実行できます。 今回はNDKのインストールから作成環境を整えるまでを順を追って紹介します(開発環境はAndroid NDK r4b および Cygwin 1.7.xです)。 NDKの理解のために Cygwinのインストール(Windows) NDKのダウンロード 環境変数(PATHとANDROID_NDK_ROOT)の設定 Hallo JNIの実行(NDK付属のサンプルプログラム) Windows環境でNDKを使うには、Cygwin(シグウィン)と呼ばれるUnixエミュレータが必要です。 Anroid NDKを使う手順をごく簡単に
日頃より、アレスネットをご愛顧いただきまして誠にありがとうございます。 「ホームページサービス」のサービス提供は2016年1月31日をもちまして終了させていただきました。 これまで長らくご利用いただき、誠にありがとうございました。 今後も、皆様によりよいサービスをご提供させていただけるよう、サービス品質向上に努めて参りますので、何卒、ご理解いただけますようお願 い申し上げます。 <アレスネットをご契約のお客様へ> 後継サービスとして「userwebサービス」を提供させていただいております。 詳しくは、以下のリンクをご参照ください。 ▼「userwebサービス」のご案内 http://www.ejworks.info/userhp/alles/index.html 今後ともアレスネットをご愛顧いただけますようお願い申し上げます。 株式会社イージェーワークス アレスネット カスタマーサポート
ろくにCをやってないのにJava Native Interfaceをちょっとやってみた. 基本編 クラスやオブジェクトの取扱 基本編 JNIの基本 とりあえずHello 2003-07-20T15:13+09:00 matsu Javaからhelloを出力するネイティブコードを呼んでみる. nativeメソッドの引数(プリミティブ型) 2003-07-20T15:13+09:00 matsu nativeメソッドから引数を渡せなければ,あんまり嬉しくない.なので,ここではいろんなプリミティブ型の引数を渡しみる. フィールドの取得 2003-07-20T15:13+09:00 matsu ネイティブコードからクラスやオブジェクトのフィールドを取得する. フィールドの設定 2003-07-20T15:13+09:00 matsu ネイティブコードからクラスやオブジェクトのフィールドを設定する.
JNIのC言語/C++側のコーディング C言語とC++の違い コーディング例 JNI関数の概要 プリミティブ型・参照型(JavaオブジェクトのC/C++での扱い) String型 [/2006-11-09] 配列型 クラスの取得・インスタンス生成 [/2008-02-02] オブジェクトのメソッド呼び出し [/2008-02-07] オブジェクトのフィールド操作 ローカル参照の終了 [2006-11-09] 例外処理 [/2007-10-13] jni.hの中でC言語/C++で使える構造体 (クラス)が定義されているが、 コンパイラーがC言語の場合とC++の場合では定義のされ方が異なり、使い方も少し異なる。 JniJikken.c: JniJikken.cpp: #include "JniJikken.h" JNIEXPORT jbyteArray JNICALL Java_JniJikk
さて、Javaから、わざわざDLLを呼ぼうってわけですから、とりあえず、お互いが会話をしないなんてことはありえないわけで、Java/DLL間でのインターフェイスを見ていきましょう。 今回は、byte配列をパラメータで渡して、その内容をひっくり返して(?)返してくれるというサンプルです。 ページ先頭へ戻る // ArrTest.java // import java.io.*; class ArrTest { private native void invert(byte arr1[], byte arr2[]); private void printArray(byte arr[]) { System.out.println("*** array contents ***"); for(int i=0; i<arr.length; ++i) { System.out.println("Ar
今回はAndroid NDKを使用して、JavaコードとC言語で記述されたNativeコードで速度の比較を行おうと思います。 まずはNDKをインストールします。以下のリンクからndkをダウンロードします。 http://developer.android.com/intl/ja/sdk/ndk/1.6_r1/index.html ダウンロードしてきたら以下を実行しインストールします。 $(NDKROOT)/build/host-setup.sh これでインストールが完了です。簡単ですね。 早速、Javaのコードを書いて速度比較していきましょう。 今回は簡単に1億回足し算を行い、JavaとNativeで比較してみます。 public class JniTest extends Activity { @Override public void onCreate(Bundle savedI
Android高速化テクニック第2章 特集1 Android による組込み開発 Android高速化 テクニック 中川 輪土 N a k a g a w a R i n d o 株式会社イーフロー 事業統括本部 第1事業部 第 2 章 行することができます。Androidは1990年代後半の Javaに似ています。AndroidとJavaの間には10年 分の差があることになります。本章ではこの10年間で 培ったJava高速化手法を元にしたAndroidの高速 化テクニックについて解説します。 Androidアプリケーション 高速化テクニック まずはAndroidアプリケーション高速化のテクニッ クについて解説します。Androidアプリケーションは Java言語で作成するため、Javaアプリケーションの 高速化テクニックがそのまま使えます。 ●インスタンス生成の抑制 インスタンスは以
SDK1.5r3、NDKr3 ソースコード NDKからOpenGLがたたけるということでまずはインストールとプロジェクト作成をしてみるべ というわけでメモ書きです インストールと「hello-jni」実行はブリリアントサービス様のページが素敵過ぎるのでおまかせ http://d.hatena.ne.jp/bs-android/20090707/1246952991 ここではプロジェクト作成をeclipseからするための簡易メモ 1)新規Androidプロジェクト作成 新規Androidプロジェクトの作成でロケーション指定として cyuwin内のNDKインストールしたフォルダ以下の「APP」以下に指定する TsNDKというアプリを作る場合 例)C:\cygwin\home\Ukai2009\android-ndk-r3\apps\TsNDK\project ソースを「project」以下に置
Captcha security check babukuma.com is for sale Please prove you're not a robot View Price Processing
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く