首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JNI eclipse Javah自动生成

JNI eclipse Javah自动生成
EN

Stack Overflow用户
提问于 2014-07-21 15:07:58
回答 1查看 759关注 0票数 1

嗨,我正在使用javah来生成头文件。我尝试了以下两种方法,但它们都不适合我。

方法1:在bin/classes中,我使用

代码语言:javascript
复制
javah -jni com.example.test.NativeLib

它报告说:

代码语言:javascript
复制
 Error: Could not find class file for 'com.example.test.NativeLib'.

但有时它对我有用(有人知道为什么吗?)

然后,我使用以下方式,这也是非常流行的:在src/

代码语言:javascript
复制
javah -classpath ../bin/classes -jni com.example.test.NativeLib

它报告说:

代码语言:javascript
复制
Error: Class org.opencv.core.Mat could not be found.

然后添加OpenCV类路径:

代码语言:javascript
复制
javah -classpath ../bin/classes/:D:/OpenCV/OpenCV-2.4.9-android-sdk/sdk/java/bin/classes -jni com.example.test.NativeLib

它报告:

代码语言:javascript
复制
Error: Could not find class file for 'com.example.test.NativeLib'.

再来一次。

有人知道为什么吗?

EN

回答 1

Stack Overflow用户

发布于 2015-12-25 20:06:12

很容易地将类路径指向opencv java类存在的位置。javah在其类路径中需要这个类。

org.opencv.core.Mat

所以,很容易用这个来喂养它。如果您已经从opencv4android下载了官方opencv下载中心并在$opencv4android中提取了它,那么您会发现这一点。$opencv4android/sdk/java/src

代码语言:javascript
复制
   -$opencv4android/
    |
    |
     ------sdk
           |
            -java
             |
               - src
                 |
                  - org
                    |
                     -- opencv
                        |
                        -- android
                        -- calib3d
                        -- core
                          |
                           -- Algorithm.java
                           -- Core.java
                              ......

                        -- engine
                        -- features2d
                        -- imgcodecs
                        -- ml
                        -- objdetect
                        -- photo
                        -- utils
                        -- video
                        -- videoio

FYI,我在Windows 8上使用opencv 3.0.0版本和Android。这就是javah想要的东西。

Windows用户

打开终端,导航到以下地址

项目的路径\app\src\main

并编写以下代码:

代码语言:javascript
复制
javah -d jni -classpath [path to your android sdk]\platforms\android-19\android.jar;[path to your opencv4android]\sdk\java\src;..\..\build\intermediates\classes\debug com.example.test.NativeLib

现在,javah可以访问所有opencv类。

Linux用户

注意,在编写类路径中的类时,应该使用:(冒号)而不是;(分号)分隔搜索地址。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24868501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档