Android NDK开发入门 jni javah使用(类继承Activity)

    xiaoxiao2021-04-15  56

    javah找不到android.app.Activity的类文件

    使用javah

    1.java下载以及环境变量的设置,在CMD中输入javah

    如下图:

    如果现实没有命令,先按照Java,再查看Java环境变量是否配置成功

    2.有些人说能直接在通过源代码来生成jni的头文件,但我不行,我是通过编译后的class文件来生成的,具体步骤如下

    2-1.

    eclipse下新建一个android工程,其实android studio 也一样,在想要调用jni的类中添加想要的方法名,

    格式一定要有native哦(ps: 声明这是一个要调用jni的方法)

    下图是我的例子:

    包名:com.zhanghuaming.myndkproject

    类名:MainActivity

    类的全名:com.zhanghuaming.myndkproject.MainActivity

    2-2:

    打开CMD切换到工程的目录(eclipse 你项目工程的右键选择 properties下location能看到你工程的具体路劲哦,我路劲是   D:\AndroidStudioProjects\MyNDKproject    )

    ps :cmd和linux不一样,cd 路径后还要输入     盘符:    我的是d盘 所以输  d: 注意有分号

    javah -classpath bin/classes -jni 类的全名(ps:       -d 是输出路径 ,我没有需要自己添加)

    例子 javah -classpath bin/classes -jni com.zhanghuaming.myndkproject.MainActivity

    没有成功是因为我的MainActivity是继承Activity的,所以要加入Activity的路径

    到你的sdk路径找到android.jar包(D:\APP\adt-bundle-windows-x86_64-20140702\sdk\platforms\android-22)(版本尽量大咯)

           加上\android.jar   如 D:\APP\adt-bundle-windows-x86_64-20140702\sdk\platforms\android-22\android.jar

           在-classpath 参数后加    ;     号 再加android.jar的路径  如: 

             成功咯

    现在去工程目录把头文件拷来用吧,通过头文件写你的jni文件吧

    详细命令:

    javah -classpath bin/classes;你android.jar的全路径 -jni 类全名

    javah -classpath bin/classes;D:\APP\adt-bundle-windows-x86_64-20140702\sdk\platforms\android-22\android.jar -jni com.zhanghuaming.myndkproject.MainActivity

       

    转载请注明原文地址: https://ju.6miu.com/read-670978.html

    最新回复(0)