0

ログを出力する helloWorld アプリを作成しようとしています。

  • ndk を使用してプロジェクトをコンパイルしてみました
  • libsフォルダーに.soファイルを作成しました

問題: - HelloWorld.java クラスに従ってマシン生成のヘッダー ファイルを作成する方法がわかりません - それが原因でエラーが発生するのでしょうか

java.lang.UnsatisfiedLinkError: Native method not found

私の Android.mk ファイルは次のようになります

 LOCAL_PATH := $(call my-dir)  
include $(CLEAR_VARS)  
LOCAL_LDLIBS := -llog  
LOCAL_MODULE    := ndk1  
LOCAL_SRC_FILES := hello.c  
include $(BUILD_SHARED_LIBRARY)  
4

1 に答える 1

2

Android Studio プロジェクトの場合、コマンドは次のようになります。

cd C:\<アプリへのパス>\src\main\java

javah -o ../jni/NameOfHeaderFile.h package.name.of.java.class.YourJavaClass

つまり、アプリの「java」ディレクトリに移動します。このディレクトリの 1 つ上のレベルは、ヘッダー ファイルが配置される jni フォルダーである必要があります。-o パラメーターを使用して、ヘッダー ファイルに名前を付けます。seconds パラメーターを使用して、ヘッダー ファイルの作成に使用する Java クラスを javah に伝えます。この Java クラスは、完全なパッケージ名で識別される必要があります。

于 2016-05-18T10:10:18.950 に答える