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”目录。此目录的上一层应该是您的 jni 文件夹,头文件应该放在该文件夹中。使用 -o 参数为您的头文件命名。告诉 javah 你想用什么 Java 类来创建带有 seconds 参数的头文件。这个 java 类必须由它的完整包名来标识。

于 2016-05-18T10:10:18.950 回答