由.java和.c文件生成.so文件的艰苦路程

一、.java生成.class文件

可以有两种方式:

1、直接使用javac 类名(进入到类所在目录)

注意:如果提示'javac' 不是内部或外部命令,也不是可运行的程序的话,需要在环境变量里面的用户变量(不是系统变量哦)中的Path变量,新增%JAVA_HOME%\bin;

2、新增了JNI类以后,rebuild project,这样.class文件会在项目的\app\build\intermediates\classes\debug目录下生成。

 二、.class生成.h文件(最坑的一步了)

我在这一步卡了半天,一直不行,总是提示:找不到“xxx.xxx.xxx”的类文件。内心接近崩溃~

最终还是摸索出来了,生成了.h文件。先进入classes目录下,然后执行了如下命令就可以了!(注意有一点.的) 

E:\android_workspace\JNITest\app\build\intermediates\classes\debug>javah -classpath . -jni com.river.jnitest.SerialPort

参考博客:https://www.cnblogs.com/xieyuan/p/3787297.html 

补充:

我的环境变量里面的系统变量 CLASSPATH的值为:

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\dt.jar;

JAVA_HOME的值是jdk的路径:D:\river\jdk1.8 

 为了证明我是成功了的!粘贴一下代码:

//SerialPort.java
package com.river.jnitest;

import java.io.FileDescriptor;

public class SerialPort {
	private native static FileDescriptor open(String path, int baudrate, int flags);
	public native void close();
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值