ubuntu下整合eclipse和javah生成jni头文件开发android的native程序(转)
本文介绍两种利用javah命令生成jni头文件的方法,第一种为大众所知的javah命令,第二种为整合javah到eclipse里面。推荐第二种方式,方便快捷,随时修改随时生成
0:前提和条件:
1:ubuntu64位系统
2:android-ndk-r8e已经安装好,并且配置到eclipse里面
3:android-sdk-linux已经安装好,并且配置到eclipse里面
1:第一种命令行模式
1:如图,我的项目结构是这样,我的
如图,采用eclipse自动生成的jni文件夹中,可以看到Android.mk和hello.cpp,此时hello.cpp中什么都没有,下面我们利用终端命令进入到项目文件夹,然后进入到bin/classes文件夹(之所以不在项目目录下而进入到bin/classes文件夹部分原因是因为在这里面可以很方便的用tab键敲出类名,不至于出错),结构如图:
利用tab键敲出这个,然后再去掉后面的class和替换/为.走起
其中-d为生成的目录文件夹,替换为下图,然后回车
可以进入jni文件夹看到生成了.h头文件
查看文件为
- /* DO NOT EDIT THIS FILE - it is machine generated */
- #include <jni.h>
- /* Header for class com_hello_word_HellowordActivity */
- #ifndef _Included_com_hello_word_HellowordActivity
- #define _Included_com_hello_word_HellowordActivity
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * Class: com_hello_word_HellowordActivity
- * Method: sayHello
- * Signature: ()Ljava/lang/String;
- */
- JNIEXPORT jstring JNICALL Java_com_hello_word_HellowordActivity_sayHello
- (JNIEnv *, jobject);
- #ifdef __cplusplus
- }
- #endif
- #endif
生成的头文件是正确的
2:第二种方式:整合ecipse和javah命令
1:如图所示:在点击鼠标位置的下拉三角,在ubuntu下截图,在图上画很费劲,选择第二项externel tools configurations
2:出现对话框,然后几点说明:
1:name写javah就行了
2:Location为你的javah所在目录
3:Working Directory如图填写就行
4:Arguments如图填写
最后apply就行,
然后鼠标放在那个HellowordActiviry.java上面,注意不是项目上
然后点击刚才那个按钮
,点这个绿色的,不是右面的三角,然后你就会看到jni目录下出现了头文件,
同样也是正确的代码
- /* DO NOT EDIT THIS FILE - it is machine generated */
- #include <jni.h>
- /* Header for class com_hello_word_HellowordActivity */
- #ifndef _Included_com_hello_word_HellowordActivity
- #define _Included_com_hello_word_HellowordActivity
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * Class: com_hello_word_HellowordActivity
- * Method: sayHello
- * Signature: ()Ljava/lang/String;
- */
- JNIEXPORT jstring JNICALL Java_com_hello_word_HellowordActivity_sayHello
- (JNIEnv *, jobject);
- #ifdef __cplusplus
- }
- #endif
- #endif
转自:http://blog.csdn.net/jiuyueguang/article/details/9404237
ubuntu下整合eclipse和javah生成jni头文件开发android的native程序(转)的更多相关文章
- ubuntu下整合eclipse和javah生成jni头文件开发android的native程序
0:前言: 这两天一直在研究用android的jni调用第三方库,上网搜方法,但是都是泛泛而谈,没有demo,经过我几番折磨,写了n多的helloword工程,总是不成功,工程名字也就由helloow ...
- [转]ubuntu下整合eclipse和javah生成jni头文件开发android的native程序
转载自:http://blog.csdn.net/jiuyueguang/article/details/9404237 本文介绍两种利用javah命令生成jni头文件的方法,第一种为大众所知的jav ...
- javah生成jni头文件时报错 Error: cannot access android.support...
javah生成jni头文件时报错: Error: cannot access android.support.v7.app.AppCompatActivity class file for andro ...
- 使用javah生成jni 头文件和使用ndk编译so库
1.jni 首先clean Project,在makeProject生成对应的class文件 然后点出命名框,输入命令: cd app/build/intermediates/classes/debu ...
- android Javah生成JNI头文件
项目要用到c语言库,因此来学习下jni 首先是在cmd中使用javah,出现了javah不是内部或外部命令的错误提示,javah是jdk自带的工具,提示说明在系统环境变量中没有jdk的路径,或者配置错 ...
- Javah生成JNI头文件
首先确保java的环境变量配置好了. 1:打开cmd 进入doc命令窗口: 进入class所在目录,我的class是在F:\summerVacation\ndkhelloworld\bin\class ...
- 转载: Javah生成JNI头文件出现找不到类的错误
错误: 找不到 'com.chnic.jni.SayHellotoCPP' 的类文件. 上图可以看到错误和解决办法. 不要忘记那个点 javah -classpath . -jni com.chnic ...
- Java 生成 JNI 头文件
[参考文章]:javah javac 命令行生成native的方法教程 [参考文章]:用javah 导出类的头文件, 常见的错误及正确的使用方法 项目需要调用 C++动态库,由于项目包结构发生变化,需 ...
- Android NDK入门实例 计算斐波那契数列一生成jni头文件
最近要用到Android NDK,调用本地代码.就学了下Android NDK,顺便与大家分享.下面以一个具体的实例计算斐波那契数列,说明如何利用Android NDK,调用本地代码.以及比较本地代码 ...
随机推荐
- android气泡消息提醒布局
无论是anroid还是ios,气泡消息提醒再正常不过了.然而要定义一个气泡消息提醒确要费一番周折.下面记录下气泡提醒布局. 定义气泡背景shape_unread_message_bg.xml < ...
- windows hosts
2015年6月29日 11:10:56 星期一 windows 的 hosts 文件生效机制 以最前边的为准, 重复的硬解析只有第一次出现的地方生效
- BlacJack游戏
首先游戏的简介如下: Blac ...
- yii和php的一些细节
yii index.php ini_set("display_errors", 1); iconv这个函数不能直接用 需要检测!!! function gb2312_utf8( ...
- 解决eclipse Maven 主项目不能刷新maven
项目->.project -> 增加<?xml version="1.0" encoding="UTF-8"?><projectD ...
- iOS应用支持IPV6,就那点事儿
原文连接 果然是苹果打个哈欠,iOS行业内就得起一次风暴呀.自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6 ...
- nyoj744(位运算)
题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=744 思路:a^b可以得到a~b间任意两个数异或运算的长度的最大值,设为n,答案为:pow(2 ...
- 1.Windows安装PostgreSQL
按照下面的步骤,Windows机器上安装PostgreSQL.请确保已开启第三方防病毒,同时安装. 挑选你想要的PostgreSQL的版本号,可以点击以下链接下载 EnterpriseDB Windo ...
- 四、优化及调试--网站优化--SEO在网页制作中的应用
SEO分类:白帽SEO.黑帽SEO 白帽SEO: 内容上的SEO: 网站标题.关键字.描述 网站内容优化 Robot.txt文件 网站地图 增加外链引用 前端SEO: 网站结构布局优化 扁平化结构(一 ...
- 红外解码编码学习----verilog
在设计中运用红外遥控器可以很好的解决按键缺少的问题,还可以方便的控制产品. 红外发射部分: 红外发射管: 判断红外发射管的好坏 : 电路原理图: 接收部分: 传输的NEC协议: 本实验电路: veri ...