项目或者应用的包名:com.ang.ndkdemo
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//创建的本地方法,具体功能在C或者C++中实现
public native String fromJNIString();
}
四、手动创建本地方法 fromJNIString() 对应的. h 头文件
1,在电脑的 cmd 或者 AndroidStudio 的 Terminal 中输入 javah -d D:\Demo\NDKDemo\app\src\main\jni -classpath D:\Demo\NDKDemo\app\src\main\java com.ang.ndkdemo.MainActivity
javah -d D:\Demo\NDKDemo\app\src\main\jni -classpath D:\Demo\NDKDemo\app\src\main\java
com.ang.ndkdemo.MainActivity
- a, -d D:\Demo\NDKDemo\app\src\main\jni 创建 jni 文件夹并指定. h 输出目录
- b, D:\Demo\NDKDemo\app\src\main\jni 要创建的. h 头文件输出的绝对路径
- c, D:\Demo\NDKDemo\app\src\main\java com.ang.ndkdemo.MainActivity 包含本地方法 (fromJNIString()) 的类路径;注意不要写成了 D:\Demo\NDKDemo\app\src\main\java\com\ang\ndkdemo\MainActivity(把包名中的点 “.” 写成了斜杠 “****”,这样写是不对的) **;**com.ang.ndkdemo.MainActivity(注意是包名 + 类名);
- 参数说明
-classpath :类搜索路径,这里表示从当前的 D:\Demo\NDKDemo\app\src\main\java 目录下查找
-d :将生成的头文件放到当前的 jni 目录下
-o : 指定生成的头文件名称,默认以类全路径名生成(包名 + 类名. h)
注意:-d 和 - o 只能使用其中一个参数。
注意: -d D:\Demo\NDKDemo\app\src\main\jni 和 -classpath D:\Demo\NDKDemo\app\src\main\java 位置可以互换;一下写法和等价于上面的写法;
javah -classpath D:\Demo\NDKDemo\app\src\main\java -d D:\Demo\NDKDemo\app\src\main\jni com.ang.ndkdemo.MainActivity