問題タブ [ndk-build]

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

android - ndk-build でビルドされた Android Studio ライブラリが実行時に更新されない

現在、NDK がサポートされているため、プロジェクトに android studio を使用していますが、gradle を使用してもできないことがまだあるため、makefile を使用しています。

端末で ndk-build を使用してソース c/cpp ファイルをコンパイルしますが、後で Android Studio で実行すると、「ビルド」->「再構築プロジェクト」を実行するまで変更が APK にパッケージ化されません (古い.so ファイル)。

コンパイルされた .so ファイルは、jniLibs/${arch} フォルダーに配置されます。

gradle にコンパイル済みの so ファイルを強制的に再パッケージ化する方法、または「再構築されたプロジェクト」を強制する方法はありますか。

前もって感謝します。

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

android-ndk - ビルドがトリガーされている libs フォルダーのみを ndk-build に削除させる方法

を持っているファイルと を持ってApplication.mkいるファイルの 2 つがAPP_ABI := armeabi armeabi-v7aありますAPP_ABI := x86。これを行う理由は、常に X86 プラットフォーム用にビルドしたいわけではなく、特定の条件が満たされた場合にのみビルドしたいからです。そのため、arm ビルドはシェル スクリプトによって無条件にトリガーndk-buildされ、条件が満たされた場合に X86 に対して再度トリガーされます。私が直面している問題は、ndk-build がトリガーされるたびに次のことを行うことです rm -f ./libs/arm64-v8a/lib*.so ./libs/armeabi/lib*.so ./libs/armeabi-v7a/lib*.so ./libs/armeabi-v7a-hard/lib*.so ./libs/mips/lib*.so ./libs/mips64/lib*.so ./libs/x86/lib*.so ./libs/x86_64/lib*.so。X86 ビルドがトリガーされ、ビルドが完了するとarmeabiarmeabi-v7alibs フォルダーが削除されます。ndk-build は、現在ターゲットとしている libs フォルダーのみを削除すべきではありませんAPP_ABIか? そうでない場合、これを回避する方法はありますか?

build-all.mkNDKディストリビューションには、clean: clean-intermediates clean-installed-binariesすべてのライブラリをクリーンアップしている可能性があるこれがあると思います。

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

android - オープンソースの JniLib を独自の Android プロジェクトに組み込む

ネイティブ コーディングを含むデモ アプリのソース コードがあります。そのコードの一部を自分のアプリに統合したいと思います。

コードの構造は次のとおりです。

ネイティブ コードには、次のように、アプリのパッケージ名に固有の部分がいくつかあるようですcaffe_jni.cpp

アプリから呼び出すことができるように、これらの名前をリファクタリングするにはどうすればよいですcom.myUsernameか? または、別のアプリのコードを Android Studio に含める別の方法はありますか?

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

android-studio - Build:Gradle:2.1.0 を使用して Android Studio に .so を含める

同様の質問がたくさんあることは知っていますが、単に理解できません。

build.gradle 内に ndk-build を統合できましたが、.apk に .so を含めることができないようです。これが私のbuild.graldeです:

これにより、次のディレクトリ構造が得られます。

p>

私のアプリの実行時にjava.lang.UnsatisfiedLinkError:、ネイティブ関数を呼び出すと...

私は次のような多くのことを見つけました:

しかし、私にはそれが理解できず、ネイティブ コードの .jar アーカイブを作成する必要はないと感じています。または、何かを完全に見逃していますか?

前もって感謝します!