前回の記事の最後に書こうと思って忘れてた部分。前回同様Android StudioのC++サポート(JNI / Android NDK)でライブラリを使う時の話。 画像処理の中で行列を扱うときにEigenとかを使いたい時があると思うんだけど、そういうヘッダファイルだけで使えるライブラリを使うときのメモ。 Eigen 3.3.4を例にやってみるので他のを入れたいときはそこを置き換える。 プロジェクト内にライブラリをコピーして使うだけ。C直下とかにあるやつを使うのは、絶対パスを書いておけばすぐできるかと思ってたけど、CMakeの知識不足ですぐにはできなかった。もし見てる人がいたらやり方教えてくれたら喜びます。 直接ではないけどCMakeでAndroid向けのOpenCVを利用するを参考にしています。 新しく追加編 ライブラリ置き場の設定 ヘッダファイルのコピー CMakeListsの設定 CM
Android NDKでCのコードを書いていると、普段のCプログラミングでは悩まないことで悩むことがあります。たとえば、AndroidのlibcはGoogle製でPOSIXに準拠していません。他のUnix系環境であれば必ず実装されているライブラリ関数が存在しないなどの罠があるため、メジャーなツールをビルドするのにもconfigure;makeが素直に通らなかったりします。 それだけでなく、Android NDKが提供する開発環境にも問題があります。特に、NDKで配られているヘッダファイルとビルド用の共有ライブラリで対応が取れていないのは頭痛のタネです。どういうことかというと、ヘッダファイルに定義されているシステムコールを使おうと思ったらリンカエラーが出ることがあります。 また、システムコールの一部については、カーネルレベルでは正しく実装されているもののlibcにインターフェース実装がなく、
製品開発ツール RAD StudioDelphiC++BuilderSQL データベース InterBaseRESTful MEAP Platform RAD Server無料版Free Delphi 12 CEC++Builder 12 CEC++ CompilerDev-C++CPP CheckREST DebuggerFMX StencilsInterBase IBLiteInterBase DeveloperPyScripterPython ToolsDelphi4Python LibrariesInterBase Driver for ADO.NetInterBase Driver for Pythonトライアル版 DelphiC++BuilderRAD StudioInterBaseInterBase ToGoVisual AssistUltraEditBlogsリソースLea
この記事は、Android Advent Calendar 2013の12/8の記事です。 はじめに こんにちは、hak (@hak)と申します。GoogleのAndroidチームでDeveloper Advocateをしており、主にOpenGL、OpenSL、NDK等ゲーム技術担当をしています。 本記事では先日アップデートされたAndroid NDK r9bの新機能、特にNDK用のヘルパモジュール、"ndk_helper"の紹介をします。 Android NDK r9b NDK r9bは先日リリースされたNDKの最新版で、下記のような新機能がサポートされています。 ・hard-float ABIサポート 浮動小数点引数、戻り値を持つ関数呼び出しのレジスタ使用を最適化することができます ・RenderScriptバインディング C/C++コードからRenderScript APIを直接呼び
ここ2日間くらい、AndroidでNativeActivityから自作Javaクラスのメソッドが呼び出せずに悩んでいましたが、無事解決できたのでNativeActivityのCのコードからJavaを呼び出すサンプルを載せます。 Javaクラスの作成 まずは、EclipseでAndroid NDKのサンプルからNativeActivityのプロジェクトを作ります。 Android NDKのサンプルからNativeActivityのプロジェクトを読み込み NativeActivity/srcフォルダにandroid.app.NativeActivityを継承して適当な名前のクラス(ここでは"TestJNI")を作ります。 NativeActivityを継承してクラスを作成 ここに使いたいコードを書いていきます。 // TestJNI.java package com.example.nativ
NDKで作成したCプログラムをgdbでデバッグする方法です。 ■デバッグするためにやっておくこと AndroidManifest.xmlにandroid:debuggable="true"を設定 ndk-build NDK_DEBUG=1 でビルドする ※デバッグビルドをした場合、最適化が行われないため性能劣化すると言われています。性能試験やリリース時には NDK_DEBUG=1 をはずしましょう。 以上を行った上で.apkファイルを実機orシミュレータにインストールしておきます。 ■いざデバッグ 初期化処理などでCプログラムを利用している箇所のデバッグをしたい場合は JAVA側でCの処理を呼び出す前にブレークポイントを張って処理止める必要があります。 通常のJAVA側のデバッグ方法でブレークポイントまできたら、ターミナルで以下の コマンドを実行します。 $ ndk-gdb 成功すれば、(
NDK 入門 〜MRuby を Android で動かそう〜 2012-05-11 - 2012-05-30 (鈴) mruby-oa-0.2.tar.bz2 (mruby 2d73abd 同梱) 393_099 バイト, md5: e6a8ebb6240222e590c027e9e91ef23c MRubyOA-release.apk (Android API 8 以上) 1_426_867 バイト, md5: 88ee2e4fe6c1350f7c9fb878393f0c28 1. Android NDK てほどき 2012-05-10 第1章では Android NDK そのものを簡単に紹介する。 2. MRuby 探索 2012-05-18 第2章では mruby の作りと使い方を探索する。 3. MRuby on Android 2012-05-30 第3章では Android
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 | 17:45実機持ってないけどAndroid NDKを触ってみたので備忘録を書いておきます。今回はインストールからサンプルの実行までです。Android NDKとは?AndroidはGoogleの開発するオープンソースの携帯端末用ミドルウェアで、いわゆるスマートフォンと呼ばれる多くの情報携帯端末に搭載されています。AndroidのアプリケーションはDalvikと呼ばれるJava仮想マシン上で動作します。なので、基本的にはAndroidのアプリケーションを開発しようと思ったら、Java言語で記述することになります。しかしC++のようなネイティブコードを出力する言語で開発する方法もあり、それを提供するのがAndroid NDKです。Android NDKを使えば、ハイクオリティな3Dゲームを開発することも可能になります。下準備※以下はWindows XPへのインストールを想定
Build script for building ghc cross compilers targeting Android. This script wraps up all the hacks and tweaks that are currently needed to get a working ghc android crosscompiler. It will download the Android NDK, the iconv library, the ncurses library and GHC itself as required. If you already have the Android NDK you can put it in the tarfiles directory and the build script will reuse it. If yo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く