我正在使用 Kotlin 创建一个 Android 应用程序来读取 PLY 文件并使用 OpenGL 渲染它们。我发现了
Assimp
库并尝试了一些方法,例如从其源代码构建(创建 JNI 绑定时出现问题)、在 MavenCentral 上使用不同的包(可用的不同选项,其中一些不完整或导致一些随机问题),以及最终从这个 GitHub repo 获取 JAR 文件来尝试一下。
我已将其添加到
build.gradle.kts
,使用:
implementation(files("libs/assimp.jar"))
这是我尝试过的 JAR 文件之一:https://github.com/kotlin-graphics/assimp/releases/download/v4.0/assimp-all.jar.
但是我遇到了很多这样的错误:
Duplicate class kotlin.ArrayIntrinsicsKt found in modules assimp.jar -> assimp (assimp.jar) and kotlin-stdlib-1.9.0.jar -> kotlin-stdlib-1.9.0 (org.jetbrains.kotlin:kotlin-stdlib:1.9.0)
Duplicate class kotlin.Deprecated found in modules assimp.jar -> assimp (assimp.jar) and kotlin-stdlib-1.9.0.jar -> kotlin-stdlib-1.9.0 (org.jetbrains.kotlin:kotlin-stdlib:1.9.0)
Duplicate class kotlin.DeprecationLevel found in modules assimp.jar -> assimp (assimp.jar) and kotlin-stdlib-1.9.0.jar -> kotlin-stdlib-1.9.0 (org.jetbrains.kotlin:kotlin-stdlib:1.9.0)
Duplicate class kotlin.DslMarker found in modules assimp.jar -> assimp (assimp.jar) and kotlin-stdlib-1.9.0.jar -> kotlin-stdlib-1.9.0 (org.jetbrains.kotlin:kotlin-stdlib:1.9.0)
Duplicate class kotlin.ExceptionsKt found in modules assimp.jar -> assimp (assimp.jar) and kotlin-stdlib-1.9.0.jar -> kotlin-stdlib-1.9.0 (org.jetbrains.kotlin:kotlin-stdlib:1.9.0)
Duplicate class kotlin.ExceptionsKt__ExceptionsKt found in modules assimp.jar -> assimp (assimp.jar) and kotlin-stdlib-1.9.0.jar -> kotlin-stdlib-1.9.0 (org.jetbrains.kotlin:kotlin-stdlib:1.9.0)
Duplicate class kotlin.ExtensionFunctionType found in modules assimp.jar -> assimp (assimp.jar) and kotlin-stdlib-1.9.0.jar -> kotlin-stdlib-1.9.0 (org.jetbrains.kotlin:kotlin-stdlib:1.9.0)
Duplicate class kotlin.Function found in modules assimp.jar -> assimp (assimp.jar) and kotlin-stdlib-1.9.0.jar -> kotlin-stdlib-1.9.0 (org.jetbrains.kotlin:kotlin-stdlib:1.9.0)
Duplicate class kotlin.InitializedLazyImpl found in modules assimp.jar -> assimp (assimp.jar) and kotlin-stdlib-1.9.0.jar -> kotlin-stdlib-1.9.0 (org.jetbrains.kotlin:kotlin-stdlib:1.9.0)
我想过使用
proguard-rules.pro
排除重复项,但没有找到如何做到这一点。
您使用的 jar 文件已过时。推荐的方法是从源代码构建最新的 jar 文件。我无法提供该版本的最新预构建 jar 文件。
您可以在此处找到如何执行此操作的教程:如何为 Android 构建 Assimp