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文档

用AI生成React/Vue页面?实测Locofy等5款工具,教你选最适合的 本文深度评测了2024年五大AI生成前端页面工具,包括Locofy、Builder.io等,从代码质量、可视化编辑器成本到企业级落地方案进行全面分析。通过实测数据和实战案例,揭示如何利用AI生成技术高效创建React/Vue页面,提升开发效率并优化性能。 阅读详情

相关推荐

Ubuntu开发环境配置——持续更新

本文简要介绍了Ubuntu下的开发环境配置流程和问题分析与解决,更多内容持续更新中。

m0_53365889的博客 2225

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

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

Hanyang Li的专栏 3589

Python-编写点云处理软件(二)点云软件ui制作之仿CC界面

至本篇结束,我们已经能够获得一个有点模子的界面了,但是具体的功能还没有编写,后续的文章将逐渐完善功能。

weixin_43894929的博客 3953

android中利用javah生成头文件

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

zroe2011的专栏 368

python爬虫项目(一百九十八):电商平台用户行为数据分析与推荐系统、爬取电商平台用户行为数据

本文详细介绍了如何通过爬虫技术抓取电商平台的用户行为数据,并结合数据分析技术,构建一个简单的推荐系统。使用Selenium模拟用户操作抓取动态网页数据,并通过API接口直接获取用户行为数据,能够为后续的用户行为分析提供基础数据。我们结合了基于用户协同过滤、基于商品协同过滤和矩阵分解等方法,构建了不同的推荐系统。实际应用中,可以进一步优化推荐算法,利用更复杂的深度学习技术和更高效的数据处理方法,提升推荐的准确性和个性化程度。

斌擎科技 2361

canoe安装完成开启之后因为VectorDeviceParams30_64.dll报错崩溃打不开...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1079

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

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

ccc6553584的博客 1024

[27] cuda 应用之 核函数实现图像通道变换

[27] cuda 应用之 核函数实现图像通道变换

yohnyang的博客 202

解决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万+

FPGA原型验证(八):SoC设计适配与实现策略

时钟门控在SoC设计中很常见,应该小心处理门控时钟,以成功地在FPGA上原型化SoC设计。现代FPGA综合工具在正确约束的情况下,可以自动处理大多数门控时钟。通过遵循本章中的指导方针,即使具有复杂时钟门控的SoC设计也可以得到处理,并成功地在FPGA上进行原型化。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 477

白话FOC控制中各环节的参数的意义与如何设置参数

FOC参数整定是控制系统的关键环节,如同驯马需要调节"智能马鞍"。核心参数分为三类:电流环参数(P/I/D)决定响应速度和稳定性,速度环参数需慢于电流环5-10倍带宽,系统参数(极对数、电阻等)是电机固有属性必须准确设置。调参心法:由内而外先调电流环,遵循先P后I慎用D原则,内环带宽必须大于外环。利用自动辨识工具,通过听觉(滋滋声表示P过大)和波形观察来微调,最终实现精准控制。

汽车软件开发 356

使用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

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

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

SAP B1中文培訓教材_SDK

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

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

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

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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

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

qq_27276035的博客 2415

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、付费专栏及课程。

余额充值