Androidstudio解决javah生成头文件时找不到类的问题
首先将命令行的工作目录切换到D:**\app\build\intermediates\classes\debug下,而不要切换到具体类的目录中,然后执行的命令是Javah (-classpath如果当前目录在别的目录可以跟这个,后面写上面所说路径) -jni 类名.文件名(只是文件名,不要加class扩展名)然后就会生成想要的头文件了。
在目录中执行ndk-build的前提是该目录名必须是jni,否则会有如下异常:
Android NDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
F:\programer\android-ndk-r10e\build/core/build-local.mk:143: *** Android NDK: Aborting . Stop.
Application.mk是配置编译的一些全局属性,最好还是写一下,如:
APP_PLATFORM = android-21
APP_ABI := armeabi-v7a armeabi
APP_STL := stlport_static
APP_OPTIM := debug
(1)APP_PLATFORM 使用的ndk库函数版本号。一般和SDK的版本相对应,各个版本在NDK目录下的platforms文件夹中
(2)APP_ABI 编译成什么类型的cpu的so, 拥有三个属性armeabi armeabi-v7a x86可以全选 也可以只用一个,如果全选也可以使用all.
(3)APP_STL 如何连接c++标准库 。
stlport_static 静态链接
stlport_shared 动态链接
system 系统默认
(4)APP_OPTIM 编译版本,如果是DEBUG版本就会带上调试信息。可以使用gdb-server进行动态断点低调试。
debug 调试版本 so中带调试信息
release 发布版本 so不带调试信息