Android 开发基础系列——使用javah生成头文件

android studio 下使用ndk——快速生成c/c++头文件 刚开始玩 NDK,用的 ide 是 android studio,但 android studio 目前还不能很好地支持 NDK。 经过几天地摸爬滚打,终于积累了点经验,记录下先~ android studio 下如果要生成头文件,比较麻烦的做法是在终端敲命令,比如: javah -classpath build/intermediates/classes/debug:/platform 阅读详情

上个配置图先:
这里写图片描述
格式如下:

1.  -v -classpath $ModuleFileDir$\build\intermediates\classes\debug;D:\Users\Muse\AppData\Local\Android\sdk\platforms\android-21\android.jar -jni -d    $ModuleFileDir$\src\main\jni $FileClass$

更新:Android Studio 1.4
 -v -classpath $ModuleFileDir$\build\intermediates\classes\debug;D:\Users\Muse\AppData\Local\Android\sdk\platforms\android-21\android.jar;H:\Android\MotionDetect\openCVLibrary300\build\intermediates\bundles\debug\classes.jar -jni -d    $ModuleFileDir$\src\main\jni $FileClass$
    * -classpath: in our case, we need the JNIActivity.class which is kept in "<project-root>\bin\classes"; and its superclass Android.app.Activity.class which is kept in android.jar under the Android SDK.
    * -o: to set the output filename.

如果在分号”;”后面有空格将会报错

如果报错如下:

错误: 无法访问android.support.v7.app.ActionBarActivity
找不到android.support.v7.app.ActionBarActivity的类文件

则把用户类(一般是MainActivity)所继承的父类ActionBarActivity改为Activity即可。

PS: android studio的External Tool的使用方法: 在窗口左边的类视图中选中要生成对应头文件的Java类,右键->External Tools->javah(举例,工具名称是自定义的)

================================更新线======================================

前述方法在Windows 7系统下测试通过,但在Linux Fedora 22系统上需要将分隔符由分号”;”改为冒号”:”;

截了个图:
这里写图片描述

参数说明请移步ORACLE javah文档

rknn-toolkit推理yolov5-face.rknn模型--python代码 import os import urllib import traceback import time import sys import numpy as np import cv2 from rknn.api import RKNN ONNX_MODEL = 'yolov5s.onnx' RKNN_MODEL = 'yolov5s.rknn' IMG_PATH = './bus.jpg' DATASET = './dataset.txt' QUANTIZE_ON = True BOX_THR. 阅读详情

相关推荐

IEC 62061 总结与适用范围

IEC 62061 是国际电工委员会(IEC)制定的。

cactusDaYe的博客 1083

Android Studio 配置 javah 自动生成 .h 头文件

Android Studio 配置 javah 自动生成 .h 头文件

Hanyang Li的专栏 3589

U-Boot 适配新型号 SPI Nor Flash 实战解析

本文详细解析了U-Boot适配新型号SPI Nor Flash的全过程,从JEDEC ID识别错误入手,深入源码分析Flash信息数据库,结合实际手册参数添加新设备支持。重点介绍了设备树同步和验证调试的关键步骤,并总结了常见问题与解决方案,为嵌入式开发者提供实用参考。

weixin_29170327的博客 201

android中利用javah生成头文件

1、转到\classes目录下, 2、javah

zroe2011的专栏 368

三个原则判定电源环路稳定性

环路稳定性测试接线图如图2所示,将信号电阻(Inserted Resistor )接入电源的环路控制电路中,注入一特定幅度和频率范围的扫频干扰信号(OUT),当干扰信号达到一定的幅度时,环路系统便对干扰信号有所响应,然后使用频率响应分析仪对电源环路输出端(CH2)和电源环路干扰信号注入端(CH1)同时进行比值跟踪测量,则可以得出频率与增益和相位的关系曲线图——波特曲线图(Bode Plot Graph),如图1所示。相位裕度,增益裕度,穿越频率,如图(波特图)所示。相位容限即相位裕度,增益容限即增益裕度。

经营范围: CTA、SRRC、CCC、移动、电信、联通入库 3739

遥感SCI期刊模板下载教程———IEEE TGRS、GRSL、JSTARS

IEEE下的期刊模板下载,以IEEE TGRS 为例。

海淀小天的blog 2万+

Android NDK:在Android Studio下的基本开发步骤和基础知识点总结

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新。

ccc6553584的博客 1024

YOLO26全新改进 | 最全损失函数改进篇 | SIoU 、WIoU、GIoU、DIoU、EIOU、CIoU, InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数

🔥本文详细介绍了如何修改YOLO26中的损失函数。首先提供了完整的损失函数核心代码,包括WIoU_Scale类和各种IoU计算方法。然后分三步指导修改:1)替换metrics.py中的bbox_iou方法;2)修改loss.py中的iou计算代码;3)更新tal.py中的相关代码。文中特别强调了修改损失函数应在模型结构调整后使用,并提供了多种IoU损失函数的参数配置建议,包括SIoU、WIoU、GIoU等,可根据实际需求灵活选择搭配使用。

Ai缝合怪、助力小伙伴高效发论文 450

解决javah生成.h头文件找不到找不到android.support.v7.app.AppCompatActivity的问题

问题描述: 在使用Android Studio进行JNI开发时,需要使用javah生成C或C++的头文件,但是可能会遇到: 错误: 无法访问android.support.v7.app.AppCompatActivity 找不到android.support.v7.app.AppCompatActivity的类文件 这样的报错。 主要原因是编译的classpath未加入v4和v7库。

集思 1万+

ABAP面试题系列:写一组会出现死锁(Deadlock)的ABAP程序

我们在计算机操作系统这门专业课上,学过死锁(Deadlock)的概念:两个或两个以上的进程(或线程)在执行过程中,由于竞争资源而造成的一种阻塞的现象,称为死锁。若无外力干预,这些处于死锁状态的进程将永远处于互相等待的阻塞状态中。 正好我儿子走到我电脑前看到文章标题,好奇地问我什么是死锁。我解释道,“假设你和白妹妹(他的玩伴)手上都有一张奥特曼白金卡,你特别想要白妹妹手上那张白金卡,白妹妹也特别想...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1476

自助结账商品检测(Scanned Item Detection)——基于YOLOv8的RPC数据集实战

RPC数据集是由中国科学院自动化研究所发布的零售商品结账检测公开数据集,广泛用于自助结账和零售场景下的目标检测与识别。YOLOv8是YOLO系列最新版本,由Ultralytics推出,继承了YOLO家族的高效快速和高准确性,适用于实时检测场景。本文系统介绍了基于YOLOv8的RPC数据集自助结账商品检测方案,涵盖数据准备、训练、推理及UI界面设计。未来,可结合多模态感知、RFID融合技术,打造更加智能和稳定的自助结账系统。

YOLO 251

使用javah 生成.h头文件

到此.com_jszy_voicechange_MainActivity.h 问价就生成在E:\c_demo\AS_Jni_Project\voicechange\src\main\java 这个目录中。已我为例:原来CLASSPATH和JAVA_HOME只是配置在我的用户变量里面,后面我拷贝一份到系统变量中就解决了问题(重启电脑了javah不生效,需要保存重新保存一次,以管理员身份运行CMD);这里有个 -encoding UTF-8 是解决中文问题的 没加这句换会报错。...

燃烧那滴泪的专栏 2149

【Burp入门第三十一篇】Burp+SwitchyOmega实现本地localhost代理

在部分情况下(如本地靶场),当我们需要在Burp中查看、修改本地流量包的时候,按以下三个配置是不能得到本地流量包的。

等风来 3214

ubuntu下整合eclipse和javah生成jni头文件开发android的native程序

本文介绍两种利用javah命令生成jni头文件的方法,第一种为大众所知的javah命令,第二种为整合javah到eclipse里面。推荐第二种方式,方便快捷,随时修改,随时生成 0:前提和条件: 1:ubuntu64位系统 2:android-ndk-r8e已经安装好 3:android-sdk-linux已经安装好 1:第一种命令行模式 1:如图,我的项目结构是这样,我的 如图

8882

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

android studio用Javah创建.h头文件和编译运行

android studio 初步JNI开发android studio在原有项目中使用cmake构建JNIandroid studio用Javah创建.h头文件和编译运行android studio继续深入ndk打包so库和jar Api首先一如既往的创建library module:jnilib,然后在jnilib\src\main\java目录中新建类JniUtil如下:package co...

w2865673691的专栏 4519

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android Studio的NDK开发之 用javah生成头文件

作为一个Android开发初学者,之前一直是用C++在写程序,最近需要开发一个APP,不得不开始学习java以及学习使用AS进行Android开发。 因为从C++转过来的,想省点力气从学习NDK开发入手,可是一天下来,走到javah生成头文件这步却怎么也走不动了,看了很多贴子,各种指令基本都试过了,心力交瘁。 终于找到了可行的方法。

qq_27276035的博客 2415

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

javah 使用(Javah生成JNI头文件)

C:/Users/archfree>javah 用法:javah [选项] 其中 [选项] 包括:         -help                 输出此帮助消息并退出         -classpath      用于装入类的路径         -bootclasspath 用于装入引导类的路径         -d              输出目录         -o              输出文件(只能使用 -d 或 -o 中的一个)

3万+

用javah 导出类的头文件, 常见的错误及正确的使用方法

******************************************************************************** 用javah 导出类的头文件, 常见的错误及正确的使用方法 ******************************************************************************** 正确的使用

hjjdebug的专栏 2万+

正确使用javah命令生成JNI的头文件

在网上看了很多如何使用javah命令,但是都不对,前几天摸索了一阵,终于搞定。博主JDK版本为jdk1.7.0_21。具体使用方法如下: 1.声明JAVA_HOME环境变量为C:\Program Files\Java\jdk1.7.0_21      JAVA_HOME这个环境变量可能一些程序会用到,因此单独声明比较好。位置为JDK主目录 2.在Path中添加%JAVA_HOME%\bin目

RuifDu的专栏 2916

在eclipse中配置javah命令生成 .h 的c++头文件

在java中,提供了javah这个命令来生成本地方法的头文件,下面我们来看看在eclipse中配置javah命令,生成 .h 的c++头文件。 1、自己随便新建一个android项目工程TestNdk 在TestNdk工程中新建一个JniClient.java(为了调用C/C++代码),其内容如下: package com.ndk.test; public class JniClien...

鲁迷那的专栏—坚持实践后再写出来! 987

Javah生成JNI头文件出现找不到类的错误(踩坑)

坑:在Android Studio上新建 NDK Javah生成JNI头文件出现找不到类的错误,通过命令生成.h头文件:javah -d …/jni -jni 包名.MyJni,一执行就说找不到类,翻build下的classes文件又能找到编译的类。跟着命令一步步的敲了的啊,我也十分确认没敲错或者敲漏,可为什么就遇到坑了啊o(╥﹏╥)o。 其中参考: 使用Android Studio调用C++ 代...

qq_42795723的博客 2567

Android ndk开发 生成与 native 方法对应的头文件

生成与 native 方法对应的头文件 在 Android NDK 开发中,C/C++ 中对应于 Java 方法的函数名应该叫什么是很有讲究的,大致是形式是 Java_包名_类名_方法名 所以 C/C++ 中的函数名不能随便取,必须按照规则来。因为这个函数名很繁琐,手动书写十分容易出错,所以这里需要利用javah的命令来生成对应于函数的头文件在头文件中会有对应的 C/C++ 函数名,所以...

dhd040805的博客 1366

使用javah生成jni本地方法头文件

前言 不知道往Markdown编辑器里贴了点啥(贴了一些从CMD窗口 dir /s/b的结果),居然挂掉了… 重新打开chrome, 点击写新文章,博客缓存也载入不进来,一直显示等待博客站点的响应… 害的我换个浏览器重新总结 :( 做了试验,搞清楚了用javah生成jni本地方法头文件的方法. 看了别人做的试验,和自己的情况也有一点小不一样. 实验记录 建立一个android工程,

博客标题不能为空 470

java 生成jni_Android中使用javah生成jni头文件的正确方法

相信大家在Android中使用NDK开发时,免不了使用JNI。首先在java中声明native方法,而这些native方法是由c或c++来实现的。为了让java能够找到对应的本地实现方法,就需要建立一个对应关系。当然我们可以自己手工编写,但是太麻烦了,还好jdk中有javah这个工具,来帮助我们自动生成本地头文件。我刚开始也在网上搜索了一下,按照网上的做法怎么也不成功。主要原因是很多人说的不够清楚...

weixin_36155846的博客 511

android中javah生成jni头文件报错问题

android中调用native code时,需要用到jni,第一步就是生成类的头文件,android提供了javah工具,貌似是个反编译生成class.h,用法:javah -jni xx.xx.xx,后面是类的路径+名字,但好多时间都报错找不到类文件,主要是2个问题。 1.生成的类是单独的,没有和android有关系的情况下,一般是路径设置问题。比如,我生成的类名字为hellofore,pa

jtyantai的专栏 1235

安卓之JNI 和 NDK编程(九)javah 和 javap生成方法的头文件、方法的签名

文章目录 一、javah 1、生成 .h 文件 2、把 .h 文件生成到c/c++指定目录 3、命令复习 二、javap 1、javap的用途 2、获取java方法的签名 3、获取java方法的签名(选看) 4、AS插件获取java方法的签名 5、命令复习 javah 和 javap,这两个工具,都是jdk的bin目录下提供的命令,那么为什么要用这两个工具呢? 一、j...

鲁迷那的专栏—坚持实践后再写出来! 665
上一篇: Android 开发基础系列——程序崩溃之Unable to instantiate activity ComponentInfo
下一篇: 关于Keil编译错误 L6236E: No section matches selector - no section 的解决方法
DOCAICSD
博客等级 码龄15年 4粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值