现在我正在尝试将 JavaCV 添加到我的项目中,但我一直坚持从 javacpp.jar 获取 .so 库。
文档说:
- 将 javacpp.jar 文件复制到 libs/ 子目录中,然后
- 运行以下命令在 libs/armeabi/ 中生成 *.so 库文件:
$ java -jar libs/javacpp.jar -classpath bin/
-classpath bin/classes/ \
-properties<android-arm|android-x86>
-Dplatform .root=/path/to/android-ndk/ \
-Dplatform.compiler=/path/to/<arm-linux-androideabi-g++|i686-linux-android-g++>
-d libs/<armeabi|x86>/
所以我的版本看起来像这样
java -jar libs/javacpp.jar -cp /build/classes/ -properties android-arm
-Dplatform.root=D:/AMAZING_THINGS/android-ndk-r13
-Dplatform.compiler=D:/AMAZING_THINGS/android-ndk-r13 /toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -d libs/armeabi
我正在尝试将其提取到我的项目文件夹中并收到此错误:
Exception in thread "main" java.lang.NoClassDefFoundError: build/classes/main/co
m/mobilestreamer/MobileStreamer$$Lambda$1 (wrong name: com/mobilestreamer/Mobile
Streamer$$Lambda$1)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at org.bytedeco.javacpp.tools.UserClassLoader.findClass(UserClassLoader.
java:72)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.bytedeco.javacpp.tools.ClassScanner.addClass(ClassScanner.java:61
)
at org.bytedeco.javacpp.tools.ClassScanner.addMatchingFile(ClassScanner.
java:71)
at org.bytedeco.javacpp.tools.ClassScanner.addMatchingDir(ClassScanner.j
ava:83)
at org.bytedeco.javacpp.tools.ClassScanner.addMatchingDir(ClassScanner.j
ava:81)
at org.bytedeco.javacpp.tools.ClassScanner.addMatchingDir(ClassScanner.j
ava:81)
at org.bytedeco.javacpp.tools.ClassScanner.addMatchingDir(ClassScanner.j
ava:81)
at org.bytedeco.javacpp.tools.ClassScanner.addMatchingDir(ClassScanner.j
ava:81)
at org.bytedeco.javacpp.tools.ClassScanner.addMatchingDir(ClassScanner.j
ava:81)
at org.bytedeco.javacpp.tools.ClassScanner.addPackage(ClassScanner.java:
95)
at org.bytedeco.javacpp.tools.Builder.classesOrPackages(Builder.java:607
)
at org.bytedeco.javacpp.tools.Builder.main(Builder.java:805)
由于我是 cmd 和与该领域相关的其他工作人员的新手,因此我无法解决此问题。那么我应该怎么做才能让它工作呢?
谢谢。