問題タブ [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.

0 投票する
1 に答える
1709 参照

android - ネイティブOpenGLレンダラーの問題

AndroidでOpenGLをレンダリングするためにネイティブコードを使用していますが、次のような定期的なエラーが発生します。

エラー/IMGSRV(1435):frameresource.c:610:WaitUntilResourceIsNotNeeded:PVRSRVEventObjectWaitが失敗しました

エラー/IMGSRV(1018):sgxif.c:124:WaitForRender:PVRSRVEventObjectWaitが失敗しました

エラー/IMGSRV(1435):osfunc_um.c:318:PVRSRVEventObjectWait:エラー13が返されました

これらのエラーが発生したら、電話を再起動する必要があります。そうしないと、レンダリングが正しく開始されません。私は多くのWeb検索を実行しましたが、これらのエラーの原因が何であるかを見つけることができません。他に何か提案はありますか?

0 投票する
2 に答える
855 参照

java - JNI コード内からのダイアログのブロック

基本的に 250K JNI のラッパーであるアプリを作成しています。JNI (ゲーム エンジン) には、handle_penUp(int x, int y) のような API があります。場合によっては、(Java コードへのコールバックを介して) handle_penUp() 内からユーザーにクエリを実行する必要があるため、クエリの実装に使用するダイアログをブロックする必要があります。

実行のメインスレッドがブロックできないことを理解しています。そのため、ブロックが必要なコールバックが発生する可能性があるすべての JNI 呼び出しを行う 2 番目のスレッドを作成しました。2 番目のスレッド内で、ブロッキング ダイアログを表示する必要がある場合は、セマフォで startActivityForResult() を呼び出してから acquire() を呼び出します。メイン スレッドで onActivityResult() が呼び出されると、同じセマフォで release() が呼び出されます。

これは、クエリが新しいアクティビティとして実装されている場合は機能しますが、既存のアクティビティ内で showDialog() を使用したい場合は機能しません。ログ メッセージは、私のスレッドが Looper を必要としていると教えてくれます。私は1つ追加しています-そしてそれが機能するかどうかについての情報を追加します-しかし、ここで間違った道を進んでいるように感じます. 私が必要としているのは、ブロッキング ダイアログを実行するためのレシピです (他のすべてのプラットフォームにブロック ダイアログがあり、移植されたコードがしばしばそのように機能するという理由だけで役立つ場合)。

0 投票する
2 に答える
1721 参照

android - C++ の Android NDK の今後の拡張サポート

NDK で安全な C++ ヘッダー リストを拡張することの将来に関する情報はありますか (または、安全に使用できるものへのヒント) はありますか? または、NDK の次の更新はいつ頃になるのでしょうか? また、NDK のチュートリアルやドキュメントは公開されますか?

ありがとう

0 投票する
2 に答える
2170 参照

java-native-interface - AndroidでJNIのNewObjectArrayを呼び出すときにSIGSEGVが発生する原因は何ですか?

Android NDKを使い始めたばかりですが、Cコードで次の呼び出しを行うとSIGSEGVを取得し続けます。

私が見つけることができるすべての例に基づいて、上記のコードは正しいですが、私はSIGSERGVを取得し続け、NewObjectArray行がコメント化されていればすべて問題ありません。何がそのような問題を引き起こす可能性があるのか​​考えていますか?

0 投票する
2 に答える
797 参照

android - android:background="" でエラーが発生しています

活動の背景をどうするかはわかりません。このプロパティを空白のままにすると、エラーが発生します。

値として使用@nullしてみましたが、黒い背景が表示されます。

透明にする方法を教えてもらえますか?

0 投票する
11 に答える
103475 参照

android - Android NDK C++ JNI (ネイティブの実装が見つかりません...)

C++ で NDK を使用しようとしていますが、メソッドの命名規則が正しくないようです。私のネイティブメソッドは次のとおりです。

extern "C" {} でラップされたヘッダーを使用します。

すべてが正常にコンパイルされ、.so ファイルが作成され、プロジェクトの下の libs フォルダーにコピーされますが、Eclipse でデバッグして実行すると、「ネイティブの実装が見つかりません...」というログ キャット メッセージが表示され続けます。すべての NDK の例は C で書かれているので、私が見逃しているものはありますか?

ありがとう。

0 投票する
2 に答える
7981 参照

android - NDK Android で Java を使用するには?

ここで OpenCV コードを使用すると想定しています: http://github.com/billmccord/OpenCV-Android#readme は、NDK を使用して Android で OpenCV を使用する最良の方法です。

関数の C 定義から、Android プロジェクトの OpenCV.java で宣言した関数を取得する方法については、まだ行き詰っています。

これを理解し始める場所であっても、ヘルプ/ポインターを高く評価します。現在利用したいcvHoughCircles, cvHoughCircles(CvArr* image, void* circle_storage, int method, double dp, double min_dist, double param1 = 100, double param2 = 300, int min_radius = 0, int max_radius = 0};

Android用のndkを使用してJavaでこれを記述するにはどうすればよいですか?

0 投票する
2 に答える
32571 参照

android - JNI を使用したバイト バッファーのコピー

C/JNI側からJavaのbyte []のようなものにchar配列をコピーすることを扱うStackoverflowに関するチュートリアル/質問がたくさん見つかりましたが、その逆はありません。

バイト配列を必要とするネイティブ C ライブラリを使用しています。Javaのbyte []から、できればCのunsigned char []にデータを取得したいだけです。

簡単に言えば、JNIでjBytearrayからデータをコピーする最良の方法は何ですか? サイズを検出する方法はありますか?

0 投票する
1 に答える
1089 参照

android - Java と C++ の両方を使用する Android OpenGL

Java とネイティブの OpenGL 呼び出しをブレンドできますか。たとえば、onSurfaceCreated でセットアップを行いますが、onDraw をネイティブ コードに呼び出しますか (またはその両方)? ネイティブ コードをレンダリングするのに問題がありますが、これが問題なのか、それとも C++ 例外をスローしているのかわかりませんが、バブルアップしません...

0 投票する
5 に答える
23838 参照

memory - カーネルがオーバーコミットメモリを使用する場合、メモリを割り当てた後にNULLをチェックする必要がありますか?

malloc()の後にNULL(メモリが正常に割り当てられているかどうか)をチェックするのが一般的な方法です。

カーネルでメモリオーバーコミットが有効になっている場合、NULLになる可能性はありますか?割り当てごとにNULLを宗教的にチェックする慣行に従う必要がありますか?積極的なオーバーコミットメカニズムにもかかわらず、mallocはNULLを返しますか(値1だと思います)?

実際のところ、Androidカーネルはメモリのオーバーコミットを使用します(値がわからない場合は、それ(オーバーコミット値)とその重要性を知りたいと思います)。Androidのフレームワークソース(C / C ++)コードの一部(サードパーティの可能性があります)は、NULLをチェックせず、割り当て後にbad_allocをキャッチしません。私は何かが足りないのですか?

オーバーコミットメモリに関してSOにはいくつかのスレッドがありますが、それらのどれも私の混乱を解決しませんでした。

編集:積極的なオーバーコミットが採用されている場合、NULLは返されません(仮定1)。使用可能な物理メモリがなく、割り当てられたメモリにアクセスしようとすると(割り当てられたメモリに書き込む)、OOMはプロセスを強制終了し、アプリケーションが強制終了されるまでメモリをアプリケーションに割り当てます(仮定2)。どちらの場合でも、NULLをチェックする必要はありません(メモリが割り当てられるか、プロセスが強制終了されます)。私は私の仮定に正しいですか?
移植性はこの質問の問題ではありません。