我有一个OpenCV Java类processImage
,我想在Android程序和Java程序之间共享。如果可能的话,将所有代码保存在同一个项目中并拥有Android应用程序,Java App和共享代码的模块会很棒。 Java和Android API是相同的,只是系统使用的JAR不同。
由于Android和Java OpenCV程序需要使用不同的JVM和OpenCV JAR,我知道我不能在两者之间共享编译库。但我还需要一种共享Java接口的方法。
是否有任何Gradle或Android Studio技巧可以帮助我实现这一目标?
答案 0 :(得分:1)
如果您使用的OpenCV API子集对于Android和Java版本的OpenCV类似,我认为是正确的,您可以将Java OpenCV添加为共享库的运行时依赖项。在Android和Java项目中,您应该添加库项目,并且相应的OpenCV库是编译依赖项。因此,项目的build.gradle
个文件将在dependency
块中包含以下行:
图书馆计划
runtime files("libs/opencv-java-3.0.0.jar")
Android项目
compile project(":library")
compile files("libs/opencv-android-3.0.0.jar")
Java项目
compile project(":library")
compile files("libs/opencv-java-3.0.0.jar")
答案 1 :(得分:0)
文件树
- Main project
|
- Android project
- Java project
- Plain folder containing image processing source code
Android build.gradle
android {
sourceSets {
main.java.srcDirs += ['../imgprocessor/src/main/java']
}
}
Java build.gradle
sourceSets {
main.java.srcDirs += ['../imgprocessor/src/main/java']
}