如何将“com.unity3d.player.UnityPlayer”导入我的 Android 库?

2024-01-20

我在获取时遇到问题UnityPlayer依赖于我的 Unity Android 库插件。

我只是无法找出向我的插件添加依赖项的正确方法。

在我尝试添加之前classes.jar文件到我的libs包含所有 UnityPlayer 代码的目录,这让我可以编写没有智能感知错误的代码,但是当我构建并运行时,我得到了如此大量的输出。

CommandInvokationFailure: Gradle build failed. 
C:\Program Files\Unity\Hub\Editor\2018.4.14f1\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\OpenJDK\Windows\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2018.4.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

stderr[

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':checkReleaseDuplicateClasses'.
> 1 exception was raised by workers:
  java.lang.RuntimeException: Duplicate class bitter.jnibridge.JNIBridge found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class bitter.jnibridge.JNIBridge$a found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.NativeLoader found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.ReflectionHelper found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.ReflectionHelper$1 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.ReflectionHelper$a found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$1 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$10 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$11 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$12 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$13 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$14 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$15 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$16 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$17 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$18 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$19 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$2 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$3 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$4 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$5 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$6 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$7 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$8 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$9 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$a found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$b found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayer$c found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.UnityPlayerActivity found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.a found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.a$1 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.a$2 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.a$a found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.b found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.c found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.d found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.e found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.f found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.g found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.h found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.i found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.j found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.k found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.k$1 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.l found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.m found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.n found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.o found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.p found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.q found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.q$1 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.q$2 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class com.unity3d.player.q$3 found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class org.fmod.FMODAudioDevice found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)
  Duplicate class org.fmod.a found in modules classes-2.jar (:coffeeplugin-release:) and unity-classes.jar (unity-classes.jar)

  Go to the documentation to learn how to <a href="d.android.com/r/tools/classpath-sync-errors">Fix dependency resolution errors</a>.


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 8s
]
stdout[
> Task :preBuild UP-TO-DATE
> Task :preReleaseBuild UP-TO-DATE
> Task :compileReleaseAidl NO-SOURCE
> Task :compileReleaseRenderscript NO-SOURCE
> Task :checkReleaseManifest UP-TO-DATE
> Task :generateReleaseBuildConfig UP-TO-DATE
> Task :prepareLintJar UP-TO-DATE
> Task :generateReleaseSources UP-TO-DATE
> Task :javaPreCompileRelease
> Task :mainApkListPersistenceRelease UP-TO-DATE
> Task :generateReleaseResValues UP-TO-DATE
> Task :generateReleaseResources UP-TO-DATE
> Task :mergeReleaseResources UP-TO-DATE
> Task :createReleaseCompatibleScreenManifests UP-TO-DATE
> Task :processReleaseManifest
> Task :processReleaseResources
> Task :compileReleaseJavaWithJavac
> Task :compileReleaseSources
> Task :lintVitalRelease
> Task :mergeReleaseShaders UP-TO-DATE
> Task :compileReleaseShaders UP-TO-DATE
> Task :generateReleaseAssets UP-TO-DATE
> Task :mergeReleaseAssets
> Task :validateSigningRelease UP-TO-DATE
> Task :signingConfigWriterRelease UP-TO-DATE
> Task :checkReleaseDuplicateClasses FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings
19 actionable tasks: 7 executed, 12 up-to-date
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <f92457847c324e90907abe57dde6951d>:0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <f92457847c324e90907abe57dde6951d>:0)
UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <f92457847c324e90907abe57dde6951d>:0)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <f92457847c324e90907abe57dde6951d>:0)
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <f92457847c324e90907abe57dde6951d>:0)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <f92457847c324e90907abe57dde6951d>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <f92457847c324e90907abe57dde6951d>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <f92457847c324e90907abe57dde6951d>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)

我看到的大部分都是重复的错误,所以我猜我已经拥有了所有内容classes.jar在我的 Android Studio 项目中。我从 Unity 导出的项目构建了该项目,并在 Android Studio 中打开它,然后制作了"coffeeplugin" module.

当我尝试添加时com.unity3d.player.UnityPlayer在 Gradle 构建脚本中,当我同步 Gradle 时,Android Studio 告诉我它是一个无效字符串。

我明白这是想要的:SomeTag我猜,但我不知道该放什么。 这Unity文档 https://docs.unity3d.com/Manual/AndroidJARPlugins.html并没有真正进入这一部分(至少从我能找到的文档和博客中)。

咖啡插件构建.gradle

apply plugin: 'com.android.library'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"


    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles 'consumer-rules.pro'
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'com.unity3d.player'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

task copyPlugin(type: Copy) {
    dependsOn assemble
    from ('build/output/aar')
    into ('N:/Storage/UnityProjects/Coffee/Assets/Plugins/Android')
    include (project.name + "-release.aar")
}

Change implementation to compileOnly for 'com.unity3d.player'。这允许在编译时使用 Unity 播放器classes.jar,但不能在运行时使用,这会导致重复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将“com.unity3d.player.UnityPlayer”导入我的 Android 库? 的相关文章

随机推荐

  • 为什么在左连接中使用子查询会给出与等效表完全不同的答案?

    我在 Access 查询中使用左联接来获取添加了仅适用于几行的列的表 当我使用子查询作为要连接的表时 它会为我提供一个最终表 其中新列的所有行都具有相同的值 当我构建一个提供与子查询完全相同的输出的表时 它会按照我想要的方式工作 如果子查询
  • 如何全局或单点管理 axios 错误

    我的应用程序中遍布标准的 then catch axios 代码 一个简单的代码如下所示 axios get then r gt catch e gt 我遇到的问题是我必须复制catch 块来处理我在应用程序中调用的任何潜在错误 我的问题是
  • 使用 SQL 查询填充 nHibernate 映射文件中的属性

    我有一个对象 其中包含一个 SQL 语句结果的属性 如何将 SQL 语句添加到我的 nHibernate 映射文件中 示例对象 public class Library public int BookCount get set 示例映射文件
  • pygame 中 screen.blit(player, (xpos, ypos)) 和 display.flip() 有什么区别?

    两者似乎都会更新整个屏幕或仅更新屏幕的一部分 但哪一个做什么以及如何做 blit 不更新屏幕 它在缓冲区中绘制图像 update and flip 将缓冲区发送到视频卡 视频卡将其显示在监视器上 如果你有代码blit 但没有update o
  • Vue JS 中的图像路径[重复]

    这个问题在这里已经有答案了 我在 vue js 中有这样的结构文件 资产 图像 我的图像 png my image2 png 成分 用户 userStart vue 我将使用数组中的对象显示图像 这是我的代码 userStart vue i
  • 在 Mac OS X 10.6 上使用 Google App Engine SDK 和 Python 2.7

    我需要在安装了 Python 2 6 的 Mac Snow Leopard 上运行 Python 2 7 根据这个答案 https stackoverflow com questions 4460367 install python 2 7
  • 无法从 Mac 上的主机使用 NodePort 访问 minikube 服务

    我正在尝试将单个 Web 应用程序部署到 Mac 上的 Minikube 然后在浏览器中访问它 我正在尝试使用最简单的设置 但它不起作用 我只是收到 连接被拒绝 错误 但我不明白为什么 这就是我正在尝试的 minikube start in
  • Singleton 类出了问题,不知道是什么

    我以前从未做过任何单例类 现在我认为对于这个数据库连接来说 创建一个单例类是个好主意 但我不知道为什么它不起作用 如果有人能帮助我解决这个问题 我真的很感激 因为我想了解 OOP 是如何工作的 无论如何 我现在只需将 PHP 更新到最新版本
  • Spring data MongoDB 将数组添加到现有文档

    假设我有以下集合 public Data class Customer Id private String id private String firstName private String lastName DBRef private
  • 升级到 Crashlytics NDK 2.+ 后出现虚假 NDK 堆栈回溯

    从 Crashlytics 2 6 8 Crashlytics NDK 1 1 5 迁移到 Crashlytics 2 8 0 Crashlytics NDK 2 0 0 以及之后的任何更新版本后 寻找 NDK 堆栈跟踪中展开问题的结构支持
  • Firestore 管理员 创建匿名用户

    尝试使用管理员创建匿名用户 我使用云功能 但我不知道是否可能 admin auth createUser email userEmail emailVerified false password userPassword disabled
  • 如何在xcode中使用数组传递本地html文件

    我在这里尝试申请 当我单击表格视图时 它将重定向到另一个名为 详细信息 的页面 在那里我使用了 webview 来显示所选的 url 值 这是我的代码 void viewWillAppear BOOL animated super view
  • 选择内核和超参数以减少内核 PCA

    我正在阅读使用 Scikit Learn 和 TensorFlow 进行机器学习实践 构建智能系统的概念 工具和技术 https rads stackoverflow com amzn click com 1491962291 我正在尝试优
  • 使用 Java 下载文件

    我编写了一些代码来下载我所做的网络广播的一集 它获取剧集的 URL 并获取保存它的位置 不过 它最多只能下载 16MB 然后就会自动取消 我不完全确定要改变什么值来增加这个值 有可能吗 有人可以指出我正确的方向吗 谢谢你 下载代码 URL
  • Amazon SQS Java SDK - 无法接收消息属性

    在发送之前使用以下代码将带有属性的消息发布到 SQS 后 并在 SQS 控制台中检查所有内容是否正确发布 messageRequest addMessageAttributesEntry attributeTest new MessageA
  • Instabot:是否可以在单个帖子中上传多张图片?

    我正在使用此代码为 Instagram 创建一个简单的每日帖子机器人 一切都很顺利 但如果我能在每篇文章中发布包含 2 3 张图像的相册 那就太不可思议了 这可能吗 这是我到目前为止所做的 非常适合单图像帖子 import os impor
  • 尝试使用多处理来填充Python中的数组

    我有这样的代码 x 3 y 3 z 10 ar np zeros x y z from multiprocessing import Process Pool para process def local func section prin
  • Redis Lettuce 连接和 BLPOP

    Lettuce 在底层使用单个共享本机连接 在这种设计中使用 BLPOP 阻止命令是否安全 它会阻止此共享本机连接并影响其他客户端吗 我在 Lettuce 文档中没有找到具体的解释说明 提前致谢 使用 BLPOP BLMOVE 和类似命令会
  • 参数化ggplot2直方图/密度aes函数找不到对象

    我创建了一个直方图 密度图函数 我希望 y 轴为count而不是密度 但在参数化其 binwidth 时遇到问题 我正在使用基于的示例http docs ggplot2 org current geom histogram html htt
  • 如何将“com.unity3d.player.UnityPlayer”导入我的 Android 库?

    我在获取时遇到问题UnityPlayer依赖于我的 Unity Android 库插件 我只是无法找出向我的插件添加依赖项的正确方法 在我尝试添加之前classes jar文件到我的libs包含所有 UnityPlayer 代码的目录 这让