jni java native interface,Android Jni(Java Native Interface)笔记

首先记录一个问题,关于如何用javah生成头文件的。

总是提示“无法访问android.app.Activity”,网上查了说是要指定android.jar的位置,可以在classpath里指定,也可以在命令中直接指定。在windows下两种都试了,都不行。于是装ubuntu。装ubuntu挺麻烦,一开始想用wubi在windows下安装,失败。后来用了某个启动器在硬盘安装。还有分配swap,根目录/,home目录的大小。。真是难倒外行人。安装好了之后试了一下,好像还是不行。。

再百度。在csdn上找到答案。按照链接里11楼的说法,要这么写:

javah -classpath bin/classes -bootclasspath /home/larry/adt-bundle-linux-x86-20140702/sdk/platforms/android-20/android.jar -d jni com.example.hellojni.MainActivity

-classpath后面跟着的bin/classes指定的就是class的path,这里我是创建了一个HelloJni的项目,包名是com.example.hellojni,里面有一个Activity是MainActivity,我是在Hellojni目录下执行上面的命令的,所以要跟bin/classes指定类目录;

-bootclasspath我猜想是引导后面的android.jar这一参数用的。之前搜了很多答案都没有提到这个。大多数是直接用这个android.jar的路径后面上一个冒号,然后就跟了类的地址。

-d jni代表把生成的h文件放到根目录的jni文件夹里面。

另外一种方法,按照12楼的说法,我还试了把android.jar添加到classpath里去,不行,还是提示无法访问android.app.Activity,可能是我加classpath的方式不对?不得而知,不去整了。

图在这里:

20180924195927252171.png

下面重新开始学习JNI。。

----------------------------------------------------------------------------------

找到一篇这个人的笔记,觉得写得很好,就按照他的来试试吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值