並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 187件

新着順 人気順

Android NDKの検索結果1 - 40 件 / 187件

  • Android NDKを使用してJava言語とC言語で速度比較をする | Techfirm Android Lab

    今回は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アプリのパフォーマンスチューニング ~ Dalvik/ART/NDKでの性能計測・比較・改善

      Androidアプリ開発者 アプリのCPU/メモリ負荷によるパフォーマンスを改善したい方 最新機能もいいけど、実行性能もね! Android界隈は5.0 Lolipopの登場でにわかに活気づいていますが、アプリ開発者の皆様はいかがお過ごしでしょうか? Android 5.0からDalvikに代わってデフォルトかつ唯一のランタイムになったARTでの動作確認や、マテリアルデザインへの対応などに追われている方もいらっしゃるかと思います。本稿ではそこから視点を変えて、DalvikとART、ならびにNDKによるNative実装(以下NDK)という3種類の実行環境/実装方法に着目して、Androidアプリのパフォーマンス比較とチューニング方法を紹介します。 パフォーマンスチューニングをするにあたり、題材としては少々古いのですが、「Google Developer Day 2011」で参加資格を得るため

        ランタイムから迫るAndroidアプリのパフォーマンスチューニング ~ Dalvik/ART/NDKでの性能計測・比較・改善
      • Android NDKでJNIを使用してアプリを高速化するには

        Android NDKでJNIを使用してアプリを高速化するには:Androidで動く携帯Javaアプリ作成入門(15)(1/3 ページ) Android NDK最新版でOpenGL ES 2.0をサポート 今回のテーマは「AndroidでJNI(Java Native Interface)を使用したアプリの高速化」です。C/C++やOpenGL ES(※)といったネイティブコードを使うツールなどのセットは、Android NDK(Native Development Kit)として提供されていて、JNIを使用した高速化に欠かせません。 ※OpenGL ES(OpenGL for Embedded Systems)OpenGL ES(OpenGL for Embedded Systems)携帯情報端末や組み込み向けのOpenGLのサブセット。OpenGLは、一般的に普及しているグラフィックス

          Android NDKでJNIを使用してアプリを高速化するには
        • Android NDK  |  Android Developers

          Modern Android Quickly bring your app to life with less code, using a modern declarative approach to UI, and the simplicity of Kotlin.

            Android NDK  |  Android Developers
          • Android StudioのNDK開発機能を使おう! - Qiita

            @eaglesakura です。 5月のGoogle IOでAndroid StudioのNDK対応が発表されてからずっとNDK対応するする詐欺を1ヶ月半されてきましたが、7/10のアップデート(Android Studio 1.3 RC1)でようやく待望のNDK対応アップデートが行われました。 使った感じはかなり良いのですが、前提条件やハマりどころが多いので、自分用のメモを兼ねて投稿します。 準備 準備を行わずにASのアップデートのみを行っても、NDK機能は全く動作してくれません。また、ビルドも行ってくれません。 そのあたりのツイート http://twitter.com/eaglesakura/status/619305979318939648 http://twitter.com/eaglesakura/status/619306946579992576 http://twitter

              Android StudioのNDK開発機能を使おう! - Qiita
            • Android NDKで使えないシステムコール・ライブラリ関数一覧 : DSAS開発者の部屋

              Android NDKでCのコードを書いていると、普段のCプログラミングでは悩まないことで悩むことがあります。たとえば、AndroidのlibcはGoogle製でPOSIXに準拠していません。他のUnix系環境であれば必ず実装されているライブラリ関数が存在しないなどの罠があるため、メジャーなツールをビルドするのにもconfigure;makeが素直に通らなかったりします。 それだけでなく、Android NDKが提供する開発環境にも問題があります。特に、NDKで配られているヘッダファイルとビルド用の共有ライブラリで対応が取れていないのは頭痛のタネです。どういうことかというと、ヘッダファイルに定義されているシステムコールを使おうと思ったらリンカエラーが出ることがあります。 また、システムコールの一部については、カーネルレベルでは正しく実装されているもののlibcにインターフェース実装がなく、

                Android NDKで使えないシステムコール・ライブラリ関数一覧 : DSAS開発者の部屋
              • Android NDKでJNIを使用してアプリを高速化するには

                Android NDKでJNIを使用してアプリを高速化するには:Androidで動く携帯Javaアプリ作成入門(15)(1/3 ページ) Android NDK最新版でOpenGL ES 2.0をサポート 今回のテーマは「AndroidでJNI(Java Native Interface)を使用したアプリの高速化」です。C/C++やOpenGL ES(※)といったネイティブコードを使うツールなどのセットは、Android NDK(Native Development Kit)として提供されていて、JNIを使用した高速化に欠かせません。 ※OpenGL ES(OpenGL for Embedded Systems)OpenGL ES(OpenGL for Embedded Systems)携帯情報端末や組み込み向けのOpenGLのサブセット。OpenGLは、一般的に普及しているグラフィックス

                  Android NDKでJNIを使用してアプリを高速化するには
                • Android NDK でネイティブ CUI プログラムを書く! : DSAS開発者の部屋

                  (2015年6月追記) 2014年10月に公開された Android 5.0 (Lollipop) 以降では PIE (Position Independent Executable) 以外のネイティブ実行形式がサポート外となったため注意が必要です。詳細は本ブログの次の記事を参照して下さい。 「Android で今後ネイティブ実行形式を扱う際に注意すべきこと」(2015年6月17日掲載) 今ならとても有利な条件で au の Android 端末を入手できることをネットで知り、先週の休みに地元の家電量販店へ足を運んでみました。 Android 1.6 搭載のこの「IS01」に今後 OS のバージョンアップサポートが適用されない旨の発表を聞いた時はお気の毒に・・と思っていましたが、極端に低いコストで実機を持てるのなら話は別です。とりあえずの実験用としていろいろ使えることでしょう。 そんなわけで

                    Android NDK でネイティブ CUI プログラムを書く! : DSAS開発者の部屋
                  • EclipseからAndroid NDKのコードをビルドする : Happy my life

                    Android NDKとJavaを併用した開発をしていると、どうしてもTerminalとEclipseをいったりきたりする必要がある。しかも、C/C++のコードを修正、ビルドしても、Eclipseを実行するだけでは、新しく作成したモジュールはapkファイルに含まれないという(Javaのコードは修正してないから、Eclipseは新しくパッケージングする必要なしと判断する) とまあ、標準環境のままではとにかくNDKとJavaの開発はしにくい。ということで、NDKのビルドコマンドであるndk-buildをeclipseからさせちゃおうという趣旨。 事前にEclipse, Android SDK, Android NDKr5がインストール済であること。Android NDKは、今回は/Developer/SDKs/android-ndk-r5cにインストールされているとする。 プロジェクト作成 ま

                    • cocos2d-x(Android NDK)ビルドを高速化する方法とオススメ設定 - matsukaz's blog

                      こんにちは!対戦型脳トレアプリ BrainWars のエンジニア、matsukazです! 一緒にcocos2d-xとかrailsとかAWSとかスタンディングしてくれる仲間を絶賛募集中!!と、ちょっとPRしてみる。 BrainWarsはcocos2d-xで開発してるんですが、ccache を導入することでAndroid NDKビルドにかかる時間を劇的に改善できました。 今までビルドに30分近くかかってたのが3分程度まで短縮!すばらしー!ヽ(=´▽`=)ノ 動作確認したNDKのバージョンは、この記事を書いてる時点で最新のr10dです。 cocos2d-xの話で書いてますが、cocos2d-xに限らず高速化できるかと。 というわけでccacheの説明と導入方法、注意点などご紹介します。 ccacheってなに? C、C++、Objective-C、Objective-C++に対応したコンパイラーキ

                        cocos2d-x(Android NDK)ビルドを高速化する方法とオススメ設定 - matsukaz's blog
                      • KMC Staff Blog:AndroidのNDKツールを使ってrubyをビルドして動かす

                        2010年08月26日 AndroidのNDKツールを使ってrubyをビルドして動かす 前回の知識を使ってNDKのツールで先日リリースされたruby-1.9.2をビルドしてAndroid上で動かしてみました。 (2011.7.21) アップデート記事を書きました。 RubyをAndroid用にビルドする 開発環境にはUbuntu 9.04 (x86_64)を使っています。 準備 ruby 1.9.2をクロスビルドするためには、そのホストでruby 1.9.2がインストールされている必要があります。(ビルド中に実行されるrubyスクリプトが1.9.2用になっているため。) $ tar xvf ruby-1.9.2-p0.tar.bz2 $ mkdir obj $ cd obj $ ../ruby-1.9.2-p0.android/configure $ make $ sudo make in

                        • Android NDK r5バージョンアップまとめ : Happy my life

                          ってことで、GingerBread(Andoid 2.3)対応Android SDKのリリースと同時にAndroid NDK r5もリリースされた。 新しいAndroid SDKについては、他の方がいろいろまとめているのでそちらを見てもらうとして、こちらはAndroid NDKr4からAndroid NDKr5で変化した事をまとめてみた。 バージョンアップ概要 Android NDKr5へのバージョンアップで大きく変化した事は大きく分けて3つ。他にも多数の変化があるけど、とりあえずは、これだけ押えておけばよいかと。 C/C++だけでAndroidアプリが作成可能 ゲーム制作が、よりしやすくなった toolchain(C/C++コンパイラ)の機能強化 では、これらについて詳細を解説していく。 C/C++言語だけでAndroidアプリが作成可能 Android NDKr5では、APILevel

                          • Android NDKを使用してJava言語とC言語で速度比較をする(画像処理編) | Techfirm Android Lab

                            つまり、以下のコードでピクセル毎にRGBカラーを取得できるということですね。 red = (pixels[i] & 0x00FF0000) >> 16; green = (pixels[i] & 0x0000FF00) >> 8; blue = (pixels[i] & 0x000000FF); つぎに、配列をJavaからC言語に渡すときの説明。。。。 この処理をC言語で行いたいために、この第1引数のint配列をJavaからC言語に渡せればいいですね。方法は以下のようにしました。 ・Java言語側 //画像を取得する Resources r = getResources(); Bitmap bitmap = BitmapFactory.decodeResource(r, R.drawable.sea); //画像を表示する imageView.setImageBitmap(myBitma

                            • Android NDK で .so ではなく、実行ファイルをつくる - Hacking My Way 〜 itogのhack日記

                              AndroidにはNDKという、JavaではなくネイティブのC/C++で開発するためのツールチェインが用意されていて、これを使えばパフォーマンスアップを望めたり、C/C++で書かれた資産を流用出来たりします。 こういった使い方をする場合は、ネイティブのコードをコンパイルして.soをつくり、それをJavaからloadLibrary()でロードする、という使い方をするのですが、.soではなく、実行ファイル形式もつくることが出来ます。 やり方は至って簡単で、Android.mkに以下を追記するだけです(※NDK r4) include $(BUILD_EXECUTABLE) サンプル hello-exe.c #include int main(int argc, char ** argv) { printf("Hello, world!\n"); return 0; } Android.mk L

                                Android NDK で .so ではなく、実行ファイルをつくる - Hacking My Way 〜 itogのhack日記
                              • Android NDKでfork, execは使ってはダメ - 組み込みの人。

                                Android NDKでfork, execのシステムコールは使ってはダメという話。 Google グループ NDKの中でforkとexecを使って子プロセスを起動してデーモン的なプログラムを動かした。しばらくうまく動いていたけど、突然SEGVで落ちて、クラッシュダンプもログに出てないので原因がわからない。なんで? という質問。 fork, execはNDKのヘッダファイルに含まれているけど、それらはシステム用であり、アプリケーションから使ったときの振る舞いは保障できない。将来それを保障することもない。(さらに言えば、ある日fork, execをアプリケーションから使用することを禁止するかも。) バックグランドで長期間動くプログラムはandroid.app.Serviceを使うのが正しい方法。 今までのAndroidの内部構造に関する知識でこれを補足すると、 Androidのアプリケーショ

                                  Android NDKでfork, execは使ってはダメ - 組み込みの人。
                                • AndroidのNDK 1.5でHelloJNIを動かす手順 - Android(アンドロイド)情報-ブリリアントサービス

                                  先日発表されたAndroidのNDK(Native Development Kit)のお陰でapkファイルにライブラリを同梱するためにソースコードをすべてダウンロードする必要がなくなった上に、Windowsだけでも作業できるようになり、開発がかなり楽になりました。 今回はNDKに付属しているhello-jniという単純なサンプルプロジェクトをWindows上でビルド、実行するまでの手順をまとめてみました。 準備 cygwinのダウンロード、インストール ここからのアイコンをクリックしてsetup.exeをダウンロードします。 setup.exeを実行すると以下のような画面になるので、「次へ(N)」を押して先に進みます。 さらに「次へ(N)」を押して先に進みます。 cygwinのrootディレクトリを変更する必要がなければ、何も変更せずに「次へ(N)」を押して先に進みます。 cygwinパッ

                                    AndroidのNDK 1.5でHelloJNIを動かす手順 - Android(アンドロイド)情報-ブリリアントサービス
                                  • Androidでゲーム開発するために備えたい、高速プログラム!『Android NDK』でネイティブコードを実装してみる。(導入編) | smarter hack – スマートフォン開発者向けブログメディア

                                    スマートフォン開発者向け情報サイト。開発に関する最新ニュース、チュートリアル、ツールをご紹介。Androidでゲーム開発するために備えたい、高速プログラム!『Android NDK』でネイティブコードを実装してみる。(導入編) 最近、大手通信会社3社が「OS:Android」を搭載した端末を次々と出し始め、日本でも注目されてきました。自分もWindowsゲームだけじゃなく「Android」でもゲーム開発をしてみようか、なんて考えている方もいるのではないでしょうか。さてゲーム開発をしようとしたとき、やはり技術者であれば高度なプログラムに挑戦したくなる気持ちが出てくると思います。 そこで今回、必須ではないが必要になったときにすぐにでも実行できるように「smarter」に記事として残しておきます。では本題に入りたいと思います。 ゲーム開発するために備えたい、高速プログラム! 『Android

                                    • 初のAndroid NDK専用本「Android NDK ネイティブプログラミング」が出ますよ! - がぶちゃんの日記

                                      レビューに参加したので著者の出村さん @checkelaさんから献本頂きました。ありがとうございます。 表紙が超かっこいい! 内容がNDKなだけにある程度の知識がある前提で書きます。 Android NDKって? AndroidアプリはJavaで開発することをご存じの方は多いと思いますが、Android NDKを使うとAndroidアプリの一部もしくは全てをC/C++で開発することができます。 一部の場合は、JNIを利用してJavaとC/C++の両方で開発します。 そして、Android 2.3からは、Androidアプリの全てをC/C++で開発できるNativeActivityがサポートされました。 このNativeActivityについても1章まるごと解説されています。すごい。 Android NDKのメリット パフォーマンス向上(高速な処理が必要になる場合など) C/C++で開発され

                                        初のAndroid NDK専用本「Android NDK ネイティブプログラミング」が出ますよ! - がぶちゃんの日記
                                      • Android StudioでNDKをビルドする - sugoi wada blog

                                        Android Studioで、共有モジュール(.so)を生成し、利用する方法です。 Android Studioを用いたNDKのサポートは公式ページによれば、Coming soonらしいです(投稿日時点)。 ところが、Android Studioを使うのに欠かすことができないビルド管理ツールのGradleは、ver 0.8.0よりNDKのビルド機能が追加されています(New Build System)。 実際にJNIを用いてやってみたら、共有モジュールが作れましたので説明します。 Android Studio 0.8.4 Android Gradle 0.12 で説明しています。 まずJNIのCのコードをapp/src/main/jni/配下に保存します。Android Studioから新規にディレクトリやファイルを作成して書いても構いません。 次に、app/build.gradle内の

                                          Android StudioでNDKをビルドする - sugoi wada blog
                                        • NDK デベロッパー向け Android の変更点

                                          .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                            NDK デベロッパー向け Android の変更点
                                          • Android NDK

                                            http://developer.android.com/sdk/ndk/index.html http://developer.android.com/sdk/ndk/overview.html ndk-build NDK r4から提供されたビルド用のシェルスクリプト。 GNU Make 3.81以上が必要になる。 Android NDK r4以前ではNDK /apps/<name>/ にプロジェクトを置いて

                                              Android NDK
                                            • OpenSL ES と NDK を使って Android オーディオストリーミング - 閉村観光

                                              この文章は、Victor Lazzariniのブログを翻訳したものです。彼は音楽ライブラリPySndObjなどの開発者です。さて、内容はAndroidで音楽プログラミングする場合、NDKを使って処理を高速化してもJavaのAPIを叩く限り不満は残ります。ここでNDKとOpenSL ESを使うことで不満を一掃しています。最後に、翻訳の精度は毎度低いので心配な方は原文と一緒に読まれることを願います。 >>>それでは本文 原文 http://goo.gl/M5vSB Androidのドキュメントやサンプルプログラムであまり触れられない話題にオーディオストリーミングがある。そのズレを埋めるのに、Android Native Development Kit(NDK)でもってOpenSL ES APIの使用検討してみたい。Androidプログラミングに不慣れな皆さんには、様々な開発コンポーネントをどの

                                                OpenSL ES と NDK を使って Android オーディオストリーミング - 閉村観光
                                              • Android NDKを使ってアプリを高速化する方法(C/C++をAndroidで使う方法) | TechBooster

                                                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を使う手順をごく簡単に

                                                • ワーキンググループ/ハンズオンセッション/NDK概要 - 日本Androidの会(日本アンドロイドの会)

                                                  ワーキンググループ/ハンズオンセッション Android Native Development Toolkit † Android Native Development Toolkit(NDK)の概要について解説します。 ↑ NDKとは † Android Native Development Tools(NDK)とは、Androidアプリケーション内にC言語やC++言語でモジュールを開発するためのツールキットです。 このツールキットは、Java言語用のAndroid SDKの補完的なモジュールを作成するために使用されます。このため、このSDKだけで、Androidのアプリケーションを作成することはできません。 アプリケーションのパッケージの中には、CPUアーキテクチャ毎のモジュールが含まれます。 NDKの用途と注意事項 † NDKは、通常、以下のような用途のために使用します。 既存のC言

                                                  • Android NDKを使用してJava言語とC言語で速度比較をする(IO編) | Techfirm Android Lab

                                                    こんにちはBig iguchiです。 早速ですがみなさん、 Androidは画像の読み込みが遅いと思ったことはありませんか? それ以前に、Androidは大きな画像を読み込むとすぐに落ちると思ったことはありませんか? 今日はそんな問題を解決するための方法を一つ紹介しようと思います。 そうです。Android NDKです。 しつこくてすいません。Javaでも出来ると言う方はご紹介ください。 Android NDKを使用すればJavaのヒープメモリを使用せずCのヒープメモリを使用するため、落ちることやGCによるストップザワールのようなことが発生しないと予測しました。 方法は、1920×1080の画像を読み込みRGBのデータを取得できるところまでの時間を測定します。実機はHT-03Aを使用しました。使用した画像は以下です。 取得してから画像を扱うところのパフォーマンスは画像処理編で試してい

                                                    • ランタイムから迫るAndroidアプリのパフォーマンスチューニング ~ Dalvik/ART/NDKでの性能計測・比較・改善 | Raccoon Tech Blog [株式会社ラクーン 技術戦略部ブログ]

                                                      こんにちは、羽山です。本日の記事はCodeZineに寄稿させていただいたものを許可を得て掲載します。 CodeZineでも同じ内容を掲載しておりますので、そちらでも閲覧できます。 http://codezine.jp/article/detail/8333 Androidアプリのチューニングについての情報を詰め込んでいます、是非ご一読いただけたらと思います。ソースコードはGitHub(Android/Java)で公開してます。 本稿で取り扱う内容 Dalvik/ARTのヒープ領域管理とGC Dalvik/ARTが遅い原因 Dalvik/ARTでの2種類のチューニング方法 NDK(C/C++によるNative実装)での高速化 ARM 32bit(v7a)におけるCPU命令を考えたパフォーマンス設計 (以下、本文) アプリを開発していると、パフォーマンスが問題になることがよくあります。ボトルネ

                                                        ランタイムから迫るAndroidアプリのパフォーマンスチューニング ~ Dalvik/ART/NDKでの性能計測・比較・改善 | Raccoon Tech Blog [株式会社ラクーン 技術戦略部ブログ]
                                                      • Android NDKを使ってアプリを高速化する方法(C/C++をAndroidで使う方法) | TechBooster

                                                        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を使う手順をごく簡単に

                                                        • JNI tips  |  Android NDK  |  Android Developers

                                                          Modern Android Quickly bring your app to life with less code, using a modern declarative approach to UI, and the simplicity of Kotlin.

                                                            JNI tips  |  Android NDK  |  Android Developers
                                                          • Android NDKネイティブプログラミング-サンプルコード : Happy my life

                                                            サンプルコード、検証用コードをgithubにUPしました(発売3ヶ月後にして…) リポジトリはhttp://github.com/demuyan/AndroidNDKbookです。 このサンプルコードは、以下の方法で実行するとよいでしょう。 EclipseではImport->Existing Projects into Workspaceで取り込む Import後、Eclipseからndk-buildを実行できるように設定する(参考:EclipseからAndroid NDKのコードをビルドする : Happy my life) なお、コードの詳細を知りたい方は、Android NDKネイティブプログラミングをお買い上げください。 サンプルコードの詳細 章ごとに分けて登録されています。 ch02/ CalcVal/ JavaからCの関数を呼び出す CalcVal2/ JavaからCの関数を呼

                                                            • Android NDKでJNIを使用してアプリを高速化するには

                                                              ファイルやライブラリの情報を定義する「Android.mk」 Android.mkは、$( APP_PROJECT_PATH)/jni/にあり、ファイルやライブラリの情報を定義します。下記は、今回使用するAndroid.mkの内容です。 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := FireEffect LOCAL_SRC_FILES := FireEffect.c LOCAL_LDLIBS := -llog LOCAL_ARM_MODE := arm include $(BUILD_SHARED_LIBRARY) LOCAL_PATH これは、Android.mkの最初に定義しなければなりません。my-dirマクロで現在のディレクトリを指定しています。 include $(CLEAR_VARS) LO

                                                                Android NDKでJNIを使用してアプリを高速化するには
                                                              • Visual Studio と C++ による Android NDK 開発 - Yuta Watanabe's Blog

                                                                こんにちは。 マイクロソフトの渡辺です。 Visual Studio 2015 Preview が 先日 2014年11月12日・13日に開催された Microsoft の開発者向けイベント Connect(); にて公開されました。 Visual Studio 2015 Prview では、C++ によるクロスプラットフォーム開発の機能が強化され、Android NDK 使った C++ による Android アプリ開発がサポートされています。Android Native Development Tools  ( Android NDK ) は、C/C++ で Android のライブラリやアプリを開発するためのツールキットです。 また、Android アプリのデバッグに使用する Android エミュレータ、Visual Studio Emulator for Android も公開さ

                                                                  Visual Studio と C++ による Android NDK 開発 - Yuta Watanabe's Blog
                                                                • Android NDK と NativeActivity | ホイール欲しい ハンドル欲しい

                                                                  Android OS 2.3、API Level 9 から NativeActivity が利用出来るようになります。 画面の初期化やイベントの取得も Java コードを通らずに C/C++ だけで 記述することが可能です。 とは言え実際にアプリケーションを記述する手段はこれまでとほとんど変わりません。 jni フォルダに C/C++ コードを置いて ndk-build を使います。 生成されるバイナリも従来同様 Dynamic Link Library (dll) ~.so です。 ・今までの NDK (jni) Java 上で dll をロードし、interface class を経由して呼び出し ・NativeActivity システムが直接 dll をロードし dll 内のエントリポイントを直接呼び出す ●エントリポイントの指定 最初に呼ばれる関数名を AndroidManifes

                                                                  • [Android]NDKのインストール | MoonWing

                                                                    MacOSXにインストールしたEclipseにAndroid NDKをインストールしたときのメモ。 (ndk-buildコマンド内でmakeコマンドを使用するため、Xcodeなどをインストールしておくこと) Android NDK のダウンロード 下記のファイルをダウンロード android-ndk-r5b-darwin-x86.tar.bz2 ダウンロードしたファイルを解凍し、適当なフォルダに格納する(例:User/username/Developer) CDT(C/C++ Development Tooling)のインストール 「ヘルプ」->「新規ソフトウェアのインストール…」を開く “作業対象:”に”Helios – http://download.eclipse.org/release/helios”を選択する 一覧が表示されたら「プログラミング言語」の中から下記のものにチェックを

                                                                    • KMC Staff Blog:AndroidのNDKのツールを使って実行ファイルをビルドする簡単な方法

                                                                      2010年08月24日 AndroidのNDKのツールを使って実行ファイルをビルドする簡単な方法 AndroidのNDKはJavaからJNIを経由して呼び出すダイナミックリンクライブラリを作るためのツールですが、ここに含まれるコンパイラとインクルードヘッダ、ライブラリを使って普通にmainから始まる実行ファイルをビルドすることもできます。ここではその簡単な方法を紹介します。 Makefileの記述 Makefile NDK_TOPにはNDKをインストールしたディレクトリを指定します。 NDK_TOP=/path/to/your/android-ndk-r4b CC = $(NDK_TOP)/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi-gcc LIBS = -llog TARGET_ARCH_CFLAGS = -march=arm

                                                                      • Android NDK(アンドロイド エヌディケー)

                                                                        Android NDK(アンドロイド エヌディケー) 現在 公式サイトhttp://developer.android.com/tools/sdk/ndk/index.html R9までリリースされました。当初のARM以外もサポートされています。 Android黎明期(2008-2010) コミュニティー(英語):http://groups.google.com/group/android-ndk NDKのメリットとデメリット Nativeはとにかく速いです。GCも起きません。物理エンジンとか作るには必須です。 (実はAndroidの内部の多くはNative) 今はまだ限られた部分しかNativeで扱えませんが、将来的にはNativeだけでアプリも作れそうです。 欠点は初心者にも物凄く敷居が高い所です。 ただ、英語コミュニティーの方で初期の不具合はほとんど解決していますので、日本のコミュニ

                                                                        • Android 4.0 API対応、C/C++開発キット「NDK r7」登場

                                                                          Android Delivers a complete set of software for mobile devices: an operating system, middleware and key mobile applications. Android向け開発キットの最新版となる「Android NDK リビジョン7」が公開された。NDK (Native Development Kit)はC/C++向けのAndroidアプリケーション開発キット。 Androidのアプリケーション開発はDalvik Java仮想マシンを対象としたSDKが公式版となる。NDKはこのSDKと連動して動作するC/C++の開発キット。NDKリビジョン7における主な注目点は次のとおり。 OpenMAX AL 1.0.1に対応したマルチメディアAPIの導入。マルチメディアストリーミングに対して効率の良いダイ

                                                                          • Android NDK の初期化と dll の分離 | ホイール欲しい ハンドル欲しい

                                                                            NDK では C/C++ のコードをそのまま使うことが出来ます。 Windows 上で作っていた lib やアプリケーションを移植し Android 上で 走らせています。 実際に動作するのですが少々問題があって、正しく起動する場合もあれば アイコンをタッチした瞬間に落ちる場合があります。 Activity が終了しても Process イメージは残り、再び onCreate した時に 常駐している Native コードが再利用される可能性があるからです。 bss/data セグメントが初期化されていないことが原因でしょう。 static 変数は初期値に戻らず global オブジェクトのコンストラクタも走りません。 NVIDIA の資料でアプリ本体を別の dll に分離する手法が紹介されていたので 試してみました。 ・GameSauce 2010: Fast and Pretty: Ma

                                                                            • mrubyをAndroid用にNDKでビルドする - crimsonwoodsのブログ

                                                                              Rubyを勉強するか!と思い立ったので、とりあえずmrubyをbuildしてみます。 <追記> ここにbuildに必要なものとか手順を公開しています。 </追記> gccのcross-compileで普通にbuildしても良いのですが、それは先人がすでにやっているようなので、 NDKに付属しているndk-buildでbuildできるようにしてみたいと思います。 ビルドに必要なものでgccとか以外だと、 Android NDK bison くらいでしょうか。 やることはこんな感じ。 mrubyのソースコード取得 android用のディレクトリ作成 ホスト用のbuild NDK用のAndroid.mk作成 NDKでbuild ということでやりましょう。 $ git clone https://github.com/mruby/mruby.git $ cd mruby $ mkdir -p an

                                                                                mrubyをAndroid用にNDKでビルドする - crimsonwoodsのブログ
                                                                              • HaskellによるAndroid NDKアプリ作成デモが公開される | スラド デベロッパー

                                                                                Haskell言語を使ってAndroid NDKアプリの開発を行うデモが公開されている(YouTube)。 タッチパネルイベントとOpenGL ESを使った3D描画がほぼ完全にHaskell言語によって実現されている。ndk-gdbを使ってHaskellのGCタイミングでbreakをかけている様子も確認できる。 この動画ではデファクトスタンダードであるGHCではなく、Ajhc Haskellコンパイラ を使っているとのこと。デモアプリのソースコードも公開されている。

                                                                                • Android NDK r5 と armeabi, 浮動小数命令の種類 | ホイール欲しい ハンドル欲しい

                                                                                  Android 端末 ZEN Touch2 は低価格ながら i.MX51 を搭載しており CPU core は ARM Cortex-A8 であることがわかりました。 ARMv7 アーキテクチャなので ARM11 (ARMv6) 系のスマートフォンより高速に 動作すると考えられます。 ・Creative ZEN Touch 2 ところが ZENTouch2 は armeabi-v7a で build した NDK のアプリケーションを インストールすることができませんでした。 armeabi なら OpenGL ES 2.0 を使っていても実行出来ることが分かっています。 ●NDK とアーキテクチャ 現在の Android NDK r5 は 2つの ARM アーキテクチャに対応しています。 ・armeabi ARMv5TE ・armeabi-v7a ARMv7 armeabi (ARMv5