嗨,我正在使用javah来生成头文件。我尝试了以下两种方法,但它们都不适合我。
方法1:在bin/classes中,我使用
javah -jni com.example.test.NativeLib它报告说:
Error: Could not find class file for 'com.example.test.NativeLib'.但有时它对我有用(有人知道为什么吗?)
然后,我使用以下方式,这也是非常流行的:在src/
javah -classpath ../bin/classes -jni com.example.test.NativeLib它报告说:
Error: Class org.opencv.core.Mat could not be found.然后添加OpenCV类路径:
javah -classpath ../bin/classes/:D:/OpenCV/OpenCV-2.4.9-android-sdk/sdk/java/bin/classes -jni com.example.test.NativeLib它报告:
Error: Could not find class file for 'com.example.test.NativeLib'.再来一次。
有人知道为什么吗?
发布于 2015-12-25 20:06:12
很容易地将类路径指向opencv java类存在的位置。javah在其类路径中需要这个类。
org.opencv.core.Mat
所以,很容易用这个来喂养它。如果您已经从opencv4android下载了官方opencv下载中心并在$opencv4android中提取了它,那么您会发现这一点。$opencv4android/sdk/java/src
-$opencv4android/
|
|
------sdk
|
-java
|
- src
|
- org
|
-- opencv
|
-- android
-- calib3d
-- core
|
-- Algorithm.java
-- Core.java
......
-- engine
-- features2d
-- imgcodecs
-- ml
-- objdetect
-- photo
-- utils
-- video
-- videoioFYI,我在Windows 8上使用opencv 3.0.0版本和Android。这就是javah想要的东西。
Windows用户
打开终端,导航到以下地址
项目的路径\app\src\main
并编写以下代码:
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用户
注意,在编写类路径中的类时,应该使用:(冒号)而不是;(分号)分隔搜索地址。
https://stackoverflow.com/questions/24868501
复制相似问题