您好我正在使用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'.
一次。
任何人都知道为什么?
答案 0 :(得分:0)
轻松将类路径指向opencv java类所在的位置。 javah在其类路径中需要此类。
org.opencv.core.Mat
所以,很容易用它喂它。如果您从official opencv Download center下载了opencv4android并将其解压缩到$ 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
-- videoio
仅供参考,我在Windows 8上使用opencv 3.0.0版和Android studio。 这就是javah正在寻找的东西。
打开终端导航到以下地址
[项目路径] \ 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类。
请注意,在写出类路径中的类时,您应该使用:(冒号)而不是;(分号)分隔搜索地址。