我有一个使用OpenCV 3.1. 我将lib_opencv_java.so文件复制到jniLibs文件夹中。现在我想将一个新的 sdk 集成到我的应用程序中,但是这个 SDK 也使用了不同版本的 OpenCV。SDK OpenCV 库随 Gradle 添加,未复制到jni文件夹。当我构建应用程序时,它在编译时出现错误:
发现多个文件与操作系统独立路径“lib/arm64-v8a/libopencv_java3.so”
为了解决这个问题,我重命名了我的 OpenCV 并.so用不同的名称重新生成了文件。之后,它没有给出上述问题,但是当我尝试打开使用 OpenCV 的活动时。应用程序因以下错误而崩溃:
java.lang.UnsatisfiedLinkError: dlopen failed: 找不到符号“_ZN2cv7imwriteERKNS_6StringERKNS_11_InputArrayERKNS_11_InputArrayERKSt6vectorIiSaIiEE”引用的“/data/app/io.xxxxxx-gilxH9B4dAHGtuXtU4Sl64==/lib.sorm6”
java-native-interface android android-ndk android-studio opencv3.1
我正在使用 Jetpack Compose 实现一个简单的图库屏幕,它在屏幕上显示所有视频和图像缩略图
我已成功显示文件路径中的图像。但是,我在显示视频缩略图时遇到了麻烦。我怎样才能使用线圈做到这一点?
这是我显示图像缩略图的代码:
@Composable
fun ImageLoaderFromLocal(
url: String,
placeHolderResId: Int,
modifier: Modifier,
transformation: Transformation
) {
val painter = rememberImagePainter(data = File(url),
builder = {
placeholder(placeHolderResId)
crossfade(true)
transformations(transformation)
})
Image(
painter = painter,
contentDescription = null,
modifier = modifier,
contentScale = ContentScale.Inside
)
}
Run Code Online (Sandbox Code Playgroud)