3

自动构建时如何在Android Studio中生成包含本机方法实现JNI的函数原型的C头文件(* .h)?

谢谢你

4

3 回答 3

4

假设你有一个项目 HelloNative

HelloNative
   |-build/intermediate/classes/debug  (you get this directory upon project build)
   |-app/src/main/jni
        /src/main/java/com/planets/mercury/HelloNativeActivity.java

你想为 HelloNativeActivity.java 生成头文件 --> 这样做

cd HelloNative

javah -d app/src/main/jni -classpath /Users/john-smith/Android/sdk/platforms/android-19/android.jar:app/build/intermediates/classes/debug com.planets.mercury.HelloNativeActivity

将 john-smith 和 android sdk 路径替换为您自己机器上的路径。对于 android jar 文件。你可以使用任何你喜欢的东西。

例如。android-19 或 android-21

于 2016-05-15T00:16:09.877 回答
2

对于在 android studio 中生成头文件,请按照给定的几个步骤操作。

1) 打开 Android Studio 终端
   (在给定终端选项卡的左下角)

2)先输入这个命令
   (cd 应用程序/src/main)
   它位于您的主要源目录。

3)现在在生成头文件的终端中键入此命令
   (javah -d cpp -classpath ../../build/intermediates/classes/debug <your_packagename>.<class_name>)

于 2017-01-20T06:46:40.487 回答
2

我建议创建一个外部工具。

转到文件->设置->工具->外部工具 并添加一个新工具。填写对话框表单(使用“插入宏”按钮)

  • 名称:javah
  • 说明:生成jni头文件
  • 程序:$JDKPath$\bin\javah
  • 参数:-d $SourcepathEntry$..\cpp\ -v $FileClass$
  • 工作目录。$SourcepathEntry$

保持其他选项不变。

在此处输入图像描述

现在您可以在Project Explorer中选择您的类,右键单击并从上下文菜单中启动 External Tool->javah。

头文件将在项目的cpp文件夹中创建(如 Android Studio Native 开发所建议的那样),但您需要浏览该文件夹才能看到它。

归功于http://kn-gloryo.github.io/Build_NDK_AndroidStudio_detail/ (修改为与更新的 SDK 和 Android Studio 更一致)和Javah:错误:无法访问 android.support.v7.app.ActionBarActivity

于 2018-09-26T23:12:10.620 回答