問題タブ [android-ndk-r4]

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 に答える
9691 参照

c++ - Android NDK でハードウェア浮動小数点を取得する

Android NDK を使い始めました。私が学んだことの 1 つは、application.mk ファイルを作成して armv7 abi を指定することです。

次のパラメーターを使用して san-angeles の例を作成しています。

ただし、これは以前とまったく同じ速度で実行されているようです (つまり、ひどく)。私はGLが制限されているだけで、CPUが制限されていませんか、それとも何か問題がありますか?

コンパイルすると、次のコマンド ライン オプションが出力されることに気付きました。

そこで気になるのが「softfp」です。v7 abi、VFP fpu についての言及があり、「親指」は「親指 2」命令を指していると思います (ただし、これらが正確に何であるかはわかりません)。ただし、その「softfp」は私に関係があります。「hardfp」ではないでしょうか?

誰でもこれらの質問について何か考えがありますか? おそらく、HTC Desire に GL ES 2.0 コードを実装する準備ができていると思いますが、可能な限り最高の速度を得られるようにしたいと思います :)

事前に乾杯!

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

c++ - Eclipseを使用したAndroid-ndk:apkの再インストールを強制する方法

私はAndroidNDKを使用してC++でライブラリを開発しています。実際、私はJavaとC++の両方のソースを使用してAndroidでプロジェクトを作成しました。プロジェクトをコンパイルして実行でき、すべて正常に動作します。

ここで、Javaコードが変更されていないが、C ++側で何かが変更されている場合でも、Eclipseにapkを電話に再インストールさせたいと思います。実際、c ++コードを変更してアプリケーションを起動すると、新しいライブラリが電話にアップロードされません。

どうすれば結果を達成できるか知っていますか?

どうもありがとう!

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

android - APKのJNIソース

EclipseGanymedeにNDK/JNIライブラリを備えたAndroidプロジェクトがあります。不可解なことに、binフォルダーには、jniフォルダーからのすべてのC++ソースのコピーが含まれています。APKの名前をZIPに変更して調べると、APKも同様になります。これらのファイルをbinから削除してから、クリーンアップして再構築すると、それらは再び存在します。どうしたの?アプリと一緒にソースを配布するつもりはありません。

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

java - Android での SWIG 生成 JNI コードの問題

C/C++ コードから JNI ラッパーを生成したいと考えています。

これが私のインターフェースファイルです。

SWIG で生成された Java コードのスニペットを次に示します。

JNI コードを呼び出す方法を次に示します。

コードはコンパイルされますが、実行すると C コードのどこかでクラッシュします。どんな助けでも大歓迎です。

ありがとう。

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

android - Android ライブラリのリンク

私がやろうとしていることが可能であれば、私はしません:

ndk で tesseract プロジェクト (libocr) をビルドしようとしています。コンパイルはOKですが、リンクが間違っています...

このような多くのエラーがあります:

stl が ndk でサポートされていないため、このエラーが発生したようです。そうですか?

この問題は STLport を使えば解決できると思いました。それで私はそれをコンパイルし、ファイルlibstlport.soを手に入れました。

しかし今、libocr のビルドを完了するために何をすべきか、また libstlport.so をどこに配置する必要があるかがわかりません。

最後に、Java にロードするファイルが 2 つあると思います: libocr.so と libstlport.so ですが、それが可能かどうか、またそれをどのように達成するかはわかりません。

助けてくれてありがとう!

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

java-native-interface - 2 つのサンプル NDK アプリケーションの実行に関する問題

Eclipse 内に Android ツール チェーンをインストールし、NDK の下ですべてのサンプル アプリを使用しています。アプリはすべて ndk-build で正常にビルドされ、問題なく Eclipse にインポートされました。それらのほとんどはエミュレーターで問題なく動作しますが、2 つには問題があります。

エミュレーターで: hello-neon が表示されます: Not an ARMv7 CPU san-angeles(hello-gl2) pop up a window with a force close button.: アプリケーション GL2JNI (プロセス com.android.gl2jni) が予期せず停止しました。もう一度やり直してください。

誰かがこれらの問題を見たことがあり、それを修正するために何を変更すべきかを説明できます. 使用する最新の NDK は android-ndk-r4 ですか?

ありがとう

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

android - Android: ネイティブ/JNI コードのパフォーマンスは、携帯電話によって異なります

こんにちは、私の JNI ライブラリに問題があります。同じコードの実行時間は、電話機ごとに異なります。古い電話でテストしていたからだと思っていましたが、最近htcの伝説で実行し、すべてのjniコードが遅かった...

プロファイラーを実行すると、実際には昼と夜の違いがあります。一部の電話では、jni 関数は 15% から 20% かかりますが、他の電話では同じ条件で 40% と 50% かかります...

誰か説明がありますか?

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

android - Android NDK インクリメンタル ビルド

私は現在、大量の C++ コードを使用して大規模な Android アプリに取り組んでいます。これまでのところ、コンパイルして実行できます。

残念ながら、ネイティブ ソースの構造で何かを変更するたびに (ファイルの追加/削除/名前変更/移動)、かなり頻繁に発生しますが、ndk-buildはソース全体を再構築します。

どうにかしてAndroid NDKを段階的にビルドするように設定する方法を知っている人はいますか?

前もって感謝します

0 投票する
3 に答える
5802 参照

c++ - Android NDK OpenGLES1.0シンプルなレンダリング

私はAndroidNDKとOpenGLから始めています。ここで何か(おそらくいくつか)間違ったことをしていることはわかっています。テストすると黒い画面が表示され続けるので、レンダリングが画面に送信されていないことがわかります。

Javaには、これら2つのネイティブメソッドを呼び出すGLSurfaceView.Rendererがあります。それらは正しく呼び出されていますが、デバイス画面に描画されていません。

誰かがこれで私を正しい方向に向けることができますか?

ネイティブメソッドの実装は次のとおりです。

ログ出力は次のとおりです。

init()draw()draw()draw()など。

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

android - シグナル11(SIGSEGV)、Androidでのフォールトアドレスデッドバードの取得

Android用のC\C ++ネイティブアプリケーションを構築していて、Androidで実行しようとしていますが、次のエラーが発生します。

次の結果が得られたよりもarm-eabi-addr2lineアドレスで使用しようとしました0001072a

Android 1.6、2.1、2.2のすべてのプラットフォームでこれを取得しています。

JNI側に設定されているバッファから値を取得しようとすると、プログラムがクラッシュします。

これは、JNI側に入力されたバッファから値を取得するために使用している次のコードです。

また、JavaとJNIの間でメモリを共有するための完全な証明メカニズムを教えてください。