問題タブ [android-ndk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android-ndk - 実行している Android ndk のバージョンを確認するにはどうすればよいですか
GUI では、[Settings] -> [About Phone] -> [Firmware Version] に移動して、2.1 (または何でも) を取得できます。コマンドラインから(または実行時に実行する必要があるネイティブアプリケーションの場合)どうすればよいですか?
android - 自分のライブラリを Nexus one にアップロードするにはどうすればよいですか?
ネイティブの C エンジンを に移植してandroid 2.1 using NDK r6
いますが、次のようなコマンドを使用できません:adb root
やadb remout
Nexus のエンジンに。エンジン (.so ファイル) を Nexus one にアップロードするにはどうすればよいですか?
android - Android ndk で opengl インターフェイスを使用するにはどうすればよいですか
Android ndk で opengl インターフェースを使用したい場合、Android ndk をマスターするための簡単なチュートリアルを見せてもらえますか?</p>
最初にandroid ndkで操作する方法を知りたいだけです。
android - Android での MP3 デコード
インターネットからストリーミングされたオーディオを再生する Android 携帯用のプログラムを実装しています。おおよそのことは次のとおりです。
- カスタム暗号化形式をダウンロードします。
- 復号化して、通常の MP3 データのチャンクを取得します。
- MP3 データをメモリ バッファ内の生の PCM データにデコードします。
- 生の PCM データを AudioTrack にパイプします
これまでのターゲット デバイスは、Droid と Nexus One です。Nexus One ではすべて問題なく動作しますが、Droid では MP3 のデコードが遅すぎます。Droid に負荷をかけると、オーディオの再生がスキップし始めます。MP3 データを SD カードにデコードすることは許可されていませんが、とにかくそれが問題ではないことはわかっています。
独自の MP3 デコーダーは作成しませんでしたが、MPADEC ( http://sourceforge.net/projects/mpadec/ ) を使用しました。無料で、私たちのプログラムに簡単に統合できました。NDKでコンパイルします。
さまざまなプロファイリング ツールを使用して徹底的に分析した結果、遅れをとっているのはこのデコーダであると確信しています。
私たちが考えているオプションは次のとおりです。
Android NDK でコンパイルできる別の MP3 デコーダーを見つけます。この MP3 デコーダーは、モバイル ARM デバイスで実行するように最適化するか、パフォーマンスを向上させるために整数のみの計算またはその他の最適化を使用する必要があります。
組み込みの Android MediaPlayer サービスは URL を受け取るため、プログラムに小さな HTTP サーバーを実装して、復号化された MP3 を MediaPlayer に提供できる可能性があります。そうすれば、組み込みの MP3 デコーダーを利用できます。
NDK を介して組み込みの MP3 デコーダーにアクセスします。これが可能かどうかはわかりません。
MP3 のデコードを高速化するためにできることについて何か提案はありますか?
-- ロブ・シズ
c++ - Android の C ランタイムのどの機能が (NDK 経由で) サポートされていないか説明できますか?
具体的には、NDK には完全な STL 実装がありますか。これは、1.6 以降を実行しているデバイスで検討しています。
android - 開発に使用する Android スマートフォンはどれですか?
いくつかのゲームを iPhone/Windows Mobile から Android プラットフォームに移植する予定です。ゲームは C++ で書かれているので、薄い Java ラッパーで NDK を使用する予定です。
私は Android プラットフォームを初めて使用するので、開発用に購入するスマートフォンについてアドバイスが必要です。Windows Mobile のように、さまざまな機能 (キーボード/回転/画面サイズ/静電容量式タッチ スクリーンなど) をサポートするさまざまな電話で、ある程度の断片化があるのではないかと思います。
Android プラットフォームでの開発に最適なデバイスは何ですか?
また、英国/ヨーロッパでも利用できる必要があります。
前もって感謝します。ニコス。
android - Android プラットフォームに OpenGL ES 2.0 の Java バインディングはありますか?
最近リリースされた android ndk r3 が、サポートされている電話 (nexus one など) で opengl es 2.0 をサポートしていることは知っていますが、SDK に含まれる opengl es 2.0 の Java バインディングがまだあるかどうかはわかりません。バインディングは進行中ですか?そうでない場合、JOGL2はAndroidでopengl es 2.0プロファイルをサポートしていますか?
java - クラッシュせずにjniからAudioTrackへの呼び出しを処理するにはどうすればよいですか?
jniコールバックからAudioTrackに書き込もうとしましたが、シグナル7(SIGBUS)、障害アドレス00000000を受け取りました。
odroidのWolf3Dの例を見ましたが、android.os.Handlerを使用して、正しいスレッドコンテキストで更新を行うRunnableを投稿しているようです。AttachCurrentThreadも試しましたが、この場合も失敗します。
コンストラクターから実行しているときに、スレッドでラップしてハンドラーにポストした場合でも、サウンドを再生するように機能します。jniからのコールバックを介して「同じ」を実行すると、失敗します。私はいくつかのルールを破っていると思いますが、それらが何であるかを理解することができませんでした。これまでのところ、私はここSOで答えを見つけていません。
だから、これがどのように行われるべきか誰かが知っているのだろうか。
編集:以下に回答。
次のコードは、問題を説明するためのものです。
Java:
cpp:
トレーススニペット:
android - Androidで2つのLARGEフロート配列の追加を実行する高速な方法。オプションのJNIまたはOpenglES
結果をfloatArray2に格納するfloatArray2にfloatArray1を追加する必要があります。3番目の配列はありません。すべての配列は1次元ですが、非常に大きいです。最大で必要なのは、それぞれ40,000個のフロートを持つ2つのフロート配列です...しかし、最小と思われる1/10で逃げることができます。
これを1/30秒または1/60秒で実行したいのですが、それは不可能と思われますか?また、コードがJNI、NDK、またはOpenGL ESの場合は問題ありません。Androidにはアセンブリ言語などのマシンコードがありますか?
android - アンドロイド OpenAL?
Android 用に OpenAL を構築した人や、システム上でその共有ライブラリを見つけた人はいますか? これは、あらゆる種類のゲームの明らかな必要性のように思えますが、そのためのリソースはありません. どうやら Android の Java サウンド ライブラリではピッチの変更ができないようで、OpenAL が必要なようです。OpenAL Soft が ALSA の上に構築できることは知っていますが、誰かがそれを行ったかどうかはわかりませんし、1 か月かかることは間違いありません。
OpenAL を使用しない Android でのサウンド操作に関する適切なガイドがどこかにあれば、それも問題ありません。ただ、OpenAL はゲーム メーカーにとって一種の標準であり、私の何千もの行をこのシステムに移植できればいいのですが、それを掘り下げる前に NDK の要点だと思っていたのですが、ほとんど何もないことがわかりました。システム上の共有ライブラリ アクセス。
ありがとう.. Java の専門家になることなく、実際に移植できることを願っています。これまでのところ、NDKが本当に嫌いです!