問題タブ [javah]
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 - javahツールを使用するときにAndroidプラットフォームのjarファイルを含める
javahツールを使用してC/C++.hヘッダーファイルを作成するときにAndroidプラットフォームのjarファイルをインクルードする方法???
android - EclipseAndroidプロジェクトでJavaを動作させることができません
さて、皆さん、私はjavahの使用例をたくさん読んだのですが、それでも運がありません。私はEclipseAndroidプロジェクトを持っているので、次のことを試してみます。
私が得るもの:
わかりました。クラスが表示され、android.jarをクラスパスに追加する必要があります。
そして私は得る:
「あなたは私をからかっています!あなたはそれを見ただけで、今はそれを見つけることができません!」と私は言います。
助けてください!私はここで必死です。
単純なjavaクラスをjavacでコンパイルしてから、javahを使用してみました-正常に動作します。
私の環境: Windows 7、cygwin。
java - Android NDK - C++ ヘッダーを別のヘッダーに含めますか?
Ability.h
ファイルに依存するファイルがありますEffect.h
。
javahを使用してヘッダーを生成する必要がありますが、C++ ヘッダーを生成するクラスでEffect 依存関係を定義できません。Ability.java
例:
このコードは、関数を認識できないかのように、関数のない*.h ファイルを生成します。foo()
戻り値の型を int に交換し、com_test_Effect を含めない場合、適切なファイルが生成されます。
Android.mk ファイル (com_test_Effect と com_test_Ability) で定義された両方のモジュールがあります。
javahによって生成されたXyz.java
クラスに別の c++ ファイルを直接含める方法は? *.h
編集: 質問は次のように尋ねることもできます: Is there a way to pass C++-type arguments or return a C++-type value from a function that is a interface between C++ and Java ? (インターフェイス メディアは JNI です。) たとえば、int などの基本的な型を使用してこれを行うことができ、その後、jint などに変換されます。
java - 特定のJNIヘッダーを生成する方法
次の形式で関数をエクスポートする.dllライブラリがあります。
_Java_folder1_folder2_folder3_JavaClassName_javamethodname @ 16
.dllを変更できません。それは私に与えられました。
ネイティブを呼び出すJavaプログラムを作成する必要がありますjavamethodname
。ただし、正しいヘッダーファイルを生成するのに問題があります。上記で指定した署名を使用してヘッダーファイルを生成するにはどうすればよいですか?
javah -jni JavaClassNameを試しましたが、目的の結果が得られません。ディレクトリ階層内からjavahを呼び出すと、次のようなヘッダーが表示されます。
Java_JavaClassName_javamethodname
ディレクトリ階層の外部からjavahを呼び出そうとすると、エラーが発生します。
また、Javaの前のヘッダー署名でアンダースコアを取得するにはどうすればよいですか?つまり、Javaではなく_Javaです。
ありがとう!
android - Linuxでjavahを使用する
JNIで使用するための単純なクラスがあり、ヘッダーファイル(.h)にエクスポートする必要があります。
プロジェクトのフォルダーにjavah
移動して、コマンドを使用する必要があることを読み、次のように入力します。src
Windowsでは正常に動作しますが、私のメインOS(Linux)では動作しません。クラスが見つからないと言い続けます。コマンドの多くの組み合わせを使用して、考えられる多くのパスで実行しようとしましたが、機能しませんでした。私は多くのチュートリアルとWebサイト(ここを含む)に従い、それらの組み合わせも試しました。
ここに示すように、これにはEclipseの外部ツールを使用してみましたが、同じエラーも表示されています。
私が得るエラーは次のようになります:
誰か助けてくれませんか?私はLinuxでの作業が本当に好きで、このツールを使用する必要があるたびにOSを切り替えたくありません。
正解は次のとおりです。
コンソールの場合は、「bin / classes」フォルダーに移動し、使用したコマンドを実行します。
javah -jni com.main_package.NativeClass
${project_loc}/bin/
Eclipseの場合は、私が提供したリンクを使用しますが、使用する代わりに${project_loc}/bin/classes/
、パッケージエクスプローラーで、NativeClass.javaに移動し、外部ツールを実行します。出力は、Javaファイルと同じパスになります。
android - コマンドラインでクラスが指定されていません
サンプル JNI プログラムを試していますが、javah ツールを動作させることができません。C:\Workspace\VideoRecorder\src\org\ccb\wifo\video\Nativejni.java に 1 つのソース ファイル、Nativejni.java があります。org.ccb.wifo.video はパッケージの名前です。コンパイルして、src ディレクトリにクラス ファイルを取得しました。ヘッダー ファイルを生成するために、以下のように試しました。
しかし、のようなエラーが発生しました。
私はたくさんグーグルで検索し、そこで見つかった解決策を試しました。しかし、役に立たない。私を助けてください。
c - jni での dll ロードの例外
JNI を使用して単純な HelloWorld アプリケーションを実装しようとしています。Java から c 関数を呼び出す。私はJavaクラスを作成しました:
}
次に、.h ファイルを生成し、c 実装を作成して、.dll を正常に生成しました。しかし、Java HelloWorld を実行できません...例外が表示されます
問題は何ですか?
android - javah エラー: アクティビティにアクセスできません
Android NDK アプリケーション用に Javah を使用して .h ファイルを作成しようとしていました。私は cygwin を使用して同じことをしています。
現在のアプリケーションの bin フォルダーにワークスペースを修正し、次のコマンドを実行しました:-
ただし、一貫して次のエラーが発生しています:-
誰でもこの問題を解決するのを手伝ってくれますか?
また、Javaファイルを含むフォルダーに移動してそこでjavahを実行しようとしましたが、それでも同じエラーが発生しました:-
それはどういうわけか、問題が何らかの許可の問題によるものであることを示していると思います。
eclipse - Eclipse バージョンで javah ツールを構成する方法: Windows で 4.2.0 (Android NDK コンパイル)
私はeclispeで超シンプルなexteranlツールを設定しようとしています。そして、外部ツール構成を閉じると、エラーが発生します
-jni の有無にかかわらず試してみましたが、まだエラーが発生します:
java - エラー:「ParallelIndexation」のクラスファイルが見つかりませんでした
ファイルの並列インデックス作成を実行するこのJavaHadoopプログラムを作成しました。ファイルはEclipseで作成されました。
コマンドを使ってプログラムをコンパイルしました
次に、ネイティブメソッドの場合、.hファイルを作成しようとしました
次の間違いを受け取りました
ディレクトリ/export/hadoop-1.0.1/folder/classes/org/myorg
には3つのファイルがあります。
- ParallelIndexation $ Map.class
- ParallelIndexation $ Reduce.class
- ParallelIndexation.class