問題タブ [android-ndk-r7]
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-r8-windows) で protobuf-2.4.1 コードをコンパイルします。
こんにちは、NDK バージョン (android-ndk-r8-windows) で protobuf-2.4.1 コードをコンパイルしようとしています。
以下に設定しました。
NDK ビルドの実行中に次の問題が発生します。
build - gnustl_static を使用して外部モジュールをビルドするときに libstdc++ が見つからない
外部 Android モジュールに gnustl_static を追加していますが、ビルドすると次のエラーが発生します。
「prebuilt/ndk/android-ndk-r7/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/」の下を見ると、libstdc++.aが見つかりません.libsupc++.aというフィールドがあります
ビルド システムは、「build/core」フォルダにある binary.mk ファイルからこれを取得しています。
問題は、このエラーを回避する方法がわからないことです。
ビルド済みフォルダーには libstdc++ のコピーが多数ありますが、リストされている場所にはありません。は、
ここに私の Android.mk ファイルの短縮形があります:
「ターゲットを作成するルールがない」ビルドの問題を解決する方法を知っている人はいますか?
android - JNIを使用してJavaクラスのフィールドを変更する方法
acネイティブ関数を使用してJavaクラスの整数フィールドを変更しています。基本的に、JNIを使用して参照による呼び出しを実装する方法を確認したいと思います。しかし、「ネイティブの実装が見つかりません」というエラーが発生します。誰かが私がこの問題を解決するのを手伝ってくれますか?私はアンドロイドとジャバに不慣れです。以下は私が書いたコードです。誰かが私が欲しいものを満たすためにこれを変えることができるならば、私は間違いなく彼の助けに感謝します。
Javaコード:
cネイティブメソッド:
以下は私が取得しているログです:
私を助けてください
android - Android ICS 4.0NDKNewStringUTFがアプリをクラッシュさせています
JNI C / C ++に、jstringを受け取り、jstringを返すメソッドがあります。
このコードは、2.2、2.3などの以前のAndroid4.0バージョンで完全に機能します。ICS 4.0では、JNIがデフォルトでオンになっていることを確認してください。そのため、アプリがクラッシュし、次のエラーが発生します。
私はどこが間違っているのか見当がつかない。上記の場合、NewStringUTFはcChar*バイトにガベージ値を追加しています。
- なぜこれが起こっているのかについての考え
- 上記を達成するための代替ソリューションは大歓迎です
誰かが私を助けてくれたら本当にありがたいです。前もって感謝します
私をregds
android - cocos2d-x に libprotobuf.a を含める方法
cocos2d-x Android プロジェクトで Google の protobuf を使用する必要があります。プロジェクトにヘッダーと C++ ファイルを含めます。しかし、NDK 経由でプロジェクトをコンパイルしようとすると、コンパイラはエラーを返します:
jni/../../Classes/PromowallLibrary/protocol.pb.cpp:55: error: undefined reference to 'google::protobuf::DescriptorPool::generated_pool()'
jni/../../Classes/PromowallLibrary/protocol.pb.cpp:55: error: undefined reference to 'google::protobuf::DescriptorPool::FindFileByName(std::basic_string, std::allocator > const&) const'
jni/../../Classes/PromowallLibrary/protocol.pb.cpp:56: error: undefined reference to 'google::protobuf::internal::LogMessage::LogMessage(google::protobuf::LogLevel, char const*, int)'
など。-lprotobuf ライブラリを参照するにはどうすればよいですか? 私は試しました:
LOCAL_LDLIBS := -lprotobuf \
しかし、それはうまくいきません
更新:
今、私はそのような方法でやろうとしています - 私は静的モジュールを作成します:
今、私はそのような種類のエラーを受け取ります:
/home/ivan/android/android_ndk/toolchains/arm-linux-androideabi-4.6.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.3/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/libprotobuf.a(common.o): incompatible target
/home/ivan/android/android_ndk/toolchains/arm-linux-androideabi-4.6.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.3/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/libprotobuf.a(generated_message_util.o): incompatible target
/home/ivan/android/android_ndk/toolchains/arm-linux-androideabi-4.6.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.3/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/libprotobuf.a(message_lite.o): incompatible target
/home/ivan/android/android_ndk/toolchains/arm-linux-androideabi-4.6.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.3/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/libprotobuf.a(repeated_field.o): incompatible target
/home/ivan/android/android_ndk/toolchains/arm-linux-androideabi-4.6.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.3/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/libprotobuf.a(wire_format_lite.o): incompatible target
android - arm-linux-androideabi-gcc を使用して実行可能ファイル (.exe) を作成するには?
arm-linux-androideabi-gcc コンパイラを使用して c ビルドで記述された共有ライブラリが 1 つあるので、共有ライブラリをテストしたいので、その共有ライブラリ (.so) を呼び出す 1 つのサンプル c を作成し、.exe を作成したい、だから私がコンパイルすると、このようなエラーが発生しましたこれは私のメイクファイルです
次のエラーが発生しました
私は自分のメイクで適切なリンクを提供したことを願っています.
android - Android用ImageMagic
こんにちは、Android 用のhttps://github.com/lilac/Android-ImageMagickライブラリをコンパイルしようとしまし たが、うまくいきませんでした。次に、コンパイルする必要のないこのライブラリhttps://github.com/puelocesar/android-lib-magickを見つけました。このライブラリを実行すると、Galaxy 4.1 デバイスにインストールされましたが、黒い画面しか表示されず、しばらくすると log cat にエラーが表示されずにアプリが終了しました。このライブラリを機能させる方法を教えてもらえますか?
android - -Android の O2 フラグ
「-O2」フラグを使用すると、Linux ではパフォーマンスが大幅に向上しますが、Android に移行すると遅くなります。Android で共有ライブラリを構築したいので、-O2 フラグを使用しますが、パフォーマンスが非常に遅くなります。
パフォーマンスを向上させるために Android で他のフラグを使用できるかどうか。
android - メソッドへのandroid ndk未定義参照
こんにちは、長い投稿で申し訳ありません。https ://github.com/alisdair/jsmn-exampleからダウンロードした jsmn json ライブラリの一部である jsmn.c、json.c、および buf.c といういくつかの静的クラスをコンパイルしようとしています。 /ダウンロード.
私は 2 つの STATIC_LIBRARIES lib1 をコンパイルしており、json_librrary.lib1 には json_library に依存するネイティブ コードがあります。次に、2 つのライブラリを gnustl_static と lib1を含む共有ライブラリにしています。
私のフォルダ構造は次のとおりです
jni/lib1/ANandroid.mk
jni/Android.mk
jni/アプリケーション.mk
したがって、lib1内には、 json_tokeniseという名前のjsonライブラリからメソッドを呼び出すクラスがあります
次のエラーが表示されます
[obj/local/armeabi-v7a/ の中を見る と、 libjson_library.a liblib1.a libgnustl_static.aが armabi-v7 用に生成され、エラーのために lib2 の生成に失敗していることがわかります。
これに2日間費やしましたが、NDKは初めてです。