前言

在开发 Android NDK 的时候,如果你是用 ndk-build 的方式,当在 Java 文件定义完 native 接口,按 ALT + ENTER 并不支持自动生成 cpp 文件,而手写 cpp 又非常容易写错,所以很有必要借助 javah 自动生成 .h 头文件。然而敲打 javah 命令也不是这么简单(设置 classpath,设置输出路径 等等。。。)

配置

在强大的 Android Studio 中 setting 中可以添加一些 extend tool 方便开发,今天就说下怎么配置 javah 和 ndk-build ,实现一键生成 .h 头文件,一键编译 so 库

setting 中选择 extend tool

Snipaste_2018-03-16_17-34-47.png

javah 配置

Snipaste_2018-03-16_17-35-56.png

Program : $JDKPath$\bin\javah.exe 这里配置的是 javah.exe 的路径(基本一致)

$JDKPath$ 可以从右侧按钮(insert macro)中选择

Parametes : $FileClass$ 这里指的是要编译 .h 文件的 java 类 (注意这里只填写了 FileClass ,其他参数没有导入那么自定义的一些 model ,或者 Android.jar 中的类是不支持的,可以先生成 h 然后手动输入特殊的参数。 比如 Bitmap ,在 native 方法中先不传这个参数,当生成 h 文件后,手动添加一个 jobject 的参数)

Working : $ModuleFileDir$\src\main\java 工作路径,也是 .h 生成的路径

ndk-build 配置

Snipaste_2018-03-16_17-36-10.png

Program : C:\Users\xxx\AppData\Local\Android\Sdk\ndk-bundle\ndk-build.cmd 这里配置的是 ndk 下的 ndk-build.cmd 的路径,在你本地的 ndk-bundle 下

Parametes : 这里不需要参数

Working : $ModuleFileDir$\src\main 工作路径

测试

Javah : 选中要生成 .h 的文件,右键 -> javah 就会看到有.h文件生成

ndk-build : 选中 jni 文件夹,然后点击 右键 -> ndk-build 会在 main 下生成一个 obj 目录,里面会生成 libxxx.so

android studio javah命令,Android Studio 配置 javah 和 ndk-build 快捷编译相关推荐

  1. android 未找到命令,ANDROID NDK – android:命令未找到

    我试图通过 Android NDK中提供的第一个示例练习.我试图在cygwin上运行以下命令 android update project –p 但是,我得到android:命令未找到错误. 我检查了 ...

  2. android wifi信号强度命令,Android显示wifi信号强度以及周边信号的代码

    本帖最后由 liyihongcug 于 2015-1-19 11:26 编辑 http://blog.sina.com.cn/s/blog_9277d4a30101swxn.htmlhttp://bo ...

  3. android+动画打包命令,Android 开机动画客制化

    Android开机动画总共有三个过程.第一个开机动画是在Kenel启动时显示的,第二个开机动画是在init进程启动时显示的,这两个都是静态图片.第三个动画是在系统服务启动过程中显示的,他是一个动态图片 ...

  4. android版cmd命令,android开发中的cmd命令

    先配置sdk的环境变量. 1 sqlite3命令 sqlite3 dbname 没有分号,创建一个数据库. .databases 查看所有的数据库文件信息 .schema 进入数据库后,用此命令查看所 ...

  5. android项目允许命令,android 项目 gradle 命令

    生成debug apk 并安装 gradle installDebug 生成realde apk gradlew assembleRelease gradlew assembleDebug 命令列表 ...

  6. android内存分析命令,Android内存问题分析一些命令

    1. 查看当前手机HEAP size 设定 adb shell getprop | grep heap [dalvik.vm.heapgrowthlimit]: [192m] [dalvik.vm.h ...

  7. android sim卡命令,Android常用命令

    一.查看当前显示的Activity linux: adb shell dumpsys activity | grep "mFocusedActivity" windows: adb ...

  8. Android多用户相关命令,android 5.0 创建多用户 双开多开应用(1)(示例代码)

    Andriod5.0多用户 双开应用 android多用户是5.0之后有的,类似windows的账户系统 不过官方还没有完全确认,API大都是hide状态 我这里提供一种方式并不适用所有的,由于我们有 ...

  9. android 放大缩小命令,Android TV开发中常用命令

    1. adb连接终端 adb connect 192.168.16.222 adb connect 192.168.16.222:5555 2. 查看连接的终端列表 adb devices adb - ...

  10. android 屏幕录制命令,Android 屏幕录制命令adb screenrecord

    录制视频到内部存储: adb shell screenrecord --size 1920x480 /storage/sdcard0/demo.mp4 最大支持的分辨率:1920x1088 The m ...

最新文章

  1. 【Elastic Stack学习】ELK日志分析平台(一)ELK简介、ElasticSearch集群
  2. [转载红鱼儿]kbmmw 开发点滴:kbmMW:Unknown property:indexes
  3. python中如何跳出多层循环
  4. c++中 结构体和类的区别
  5. html桌面图标样式,如何更改图标样式,换桌面图标的方法
  6. Java笔试题解答和部分面试题
  7. In_interrupt( ) 和In_irq( )【转】
  8. 决策树Decision Tree+ID3+C4.5算法实战
  9. 用for打印菱形java_Java 动态打印菱形代码之for循环的使用
  10. 数据挖掘之关联规则和频繁项集
  11. c++全局变量,局部变量,内存布局,默认初始化
  12. python运维自动化老男孩_老男孩Python高级运维自动化实战 老男孩Python高级运维开发10期 全套Python视频教程下 ......
  13. 九歌创作诗词计算机系统,人工智能辅助古诗词学习:以清华大学“九歌”诗词写作系统为例...
  14. 【VirtualBoxUbuntu】VirtualBox中Ubuntu虚拟机磁盘碎片整理并压缩磁盘空间
  15. MATLAB中通用桥晶闸管的型号,基于MATLAB的电力电子技术仿真分析
  16. cookie和token身份验证
  17. 你知道吗?U盘插入速度决定读写速度,看完别再用错了
  18. 金蝶EAS开发 第二弹:了解开发工具与基本使用(下)
  19. 上海交通大学计算机学院录取分数线,湖南省多少名可以进上海交大?附上海交通大学近三年录取分数线...
  20. 刘桉齐:敏捷回顾会七步成诗法 | 真北群友作品

热门文章

  1. 计算机网络telnet命令作用,telnet命令使用方法详解
  2. Linux系统下载并安装Redis
  3. labview的初步
  4. 车载以太网网络中的时间同步
  5. winform chart控件 滚动条
  6. 遗传算法 matlab实现 多维变量 二进制编码
  7. 解决Fedora14中文显示问题
  8. Android的UC的flash插件下载,uc浏览器flash不支持解决方法详解
  9. Adobe Creative Cloud官方卸载工具
  10. windows下的内存泄露检测工具VLD使用