zoukankan      html  css  js  c++  java
  • 生成class关于使用javah生成头文件时无法访问class文件的问题

    时间紧张,先记一笔,后续优化与完善。

        当生成java类,并且应用javac编译以后,生活JniDemo.class文件。比如此时地点的路径是XXX/src/com/example/hellojni。你的class文件就在这个hellojni文件夹里面,此时如果你直接在这个目录下应用javah命令,则会出现如下错误:    

        错误: 无法访问 com.example.hellojni.JniDemo

               找不到文件com.example.hellojni.JniDemo.class
           javadoc: 错误 - 找不到类com.example.hellojni.JniDemo

               Error: 未在命令行中指定任何类。请实验应用 -help。

        

        如图所示 : 

        生成和class

        

        解决方案 :

        此时,你可以返回到src目录,然后再执行javah com.example.hellojni.JniDemo .

        每日一道理
    生活中受伤难免,失败跌倒并不可怕,可怕的是因此而一蹶不振,失去了对人生的追求与远大的理想。没有一个人的前进道路是平平稳稳的,就算是河中穿梭航行的船只也难免颠簸,生活中所遇上的坎坷磨难不是偶尔给予的为难,而是必然所经受的磨练。

        如图 :

        生成和class

        此时的目录是src,然后执行javah , 注意要加上完全的包名。最后生成了.h文件。

        生成和class

        

        在C文件中实现该头文件中声明的方法,然后写完Android.mk文件。

        

    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_MODULE    := hellojni
    LOCAL_SRC_FILES :=helloJni.c
    
    include $(BUILD_SHARED_LIBRARY)

        最后到cygwin 命令终端下,切换到项目主目录,比如我们这里是D:\JavaProFor64\HelloWorld,然后执行$ndk/ndk-build 命令即可编译。

        生成和class

        最后.so动态库文件会在D:\JavaProFor64\HelloWorld\libs\armeabi中存放。

        生成和class

        

    文章结束给大家分享下程序员的一些笑话语录: Borland说我很有前途,Sun笑了;Sun说我很有钱,IBM笑了;IBM说我很专业,Sybase笑了;Sybase说我数据库很牛,Oracle笑了;Oracle说我是开放的,Linux笑了;Linux说我要打败Unix,微软笑了;微软说我的系统很稳定,我们都笑了。

    --------------------------------- 原创文章 By
    问题和命令
    ---------------------------------

  • 相关阅读:
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
    UVa 10534 DP LIS Wavio Sequence
    LA 4256 DP Salesmen
    HDU 2476 区间DP String painter
    HDU 4283 区间DP You Are the One
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3106634.html
Copyright © 2011-2022 走看看