将 Unity3D 项目导出并运行到 Android Studio

2022-09-01 15:17:25

我想在Unity应用程序在Android手机上运行时从中获取日志。为此,我必须从Unity3D导出Android项目并使用Android Studio运行它。我正在执行以下步骤:

  1. 通过从播放器设置中选择Google Android Project选项从Unity3D导出项目。
  2. 打开 Android Studio 并从位置驱动器导入自动生成的项目。
  3. 选择“生成 ->生成项目”。
  4. 选择“运行 ->运行”模块名称”。

我在 Gradle 控制台中收到以下错误:

失败:生成失败,出现异常。

  • 出了什么问题:任务“执行失败:'ModuleName':transformClassesWithDexForDebug'。java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at sun.launcherHelper.checkAndLoadMain(LauncherHelper.java:482)线程“主”中的异常

    com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' 以非零退出值 1 完成

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获取更多日志输出。

构建失败

总时间:0.788 秒

java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at sun.launcherHelper.checkAndLoadMain(LauncherHelper.java:482)线程“主”中的异常

很久以前,我一直在使用Eclipse,但以前从未遇到过这种情况。任何人都可以指导我如何在Android Studio中成功运行Unity-Android项目吗?


答案 1

将Unity3D项目导出并运行到Android Studio并不难。确保您拥有最新版本的 Unity(5.4)Android Studio(2.1.3)。此步骤是使用上述版本进行的。

导出到安卓工作室

1.创建一个根文件夹,用于保存导出的文件夹和文件。在这种情况下,让我们称之为,完整的目录将是 。AndroidTestProjectC:/AndroidTestProject

2.正在导出到 .C:/AndroidTestProject

文件>生成设置...

.选择左侧的Android,然后勾选Google Android Project复选框。

图像描述enter image description here

C.单击导出按钮。

.选择,然后单击选择文件夹按钮。C:/AndroidTestProject

图像描述

enter image description here

Unity 将构建您的项目。

生成项目后,将在目录中创建一个新文件夹。无论您在播放器设置中的产品名称是什么,该文件夹都将被命名。这是我的产品名称在播放器设置中:C:/AndroidTestProject

图像描述enter image description here

因此,在我的情况下,新的文件夹名称将被称为测试,并将位于 。C:/AndroidTestProject/test

导入安卓工作室

1.在目录中创建一个名为 AndroidStudio 的新文件夹。该文件夹的完整路径应为 。C:/AndroidTestProject/C:/AndroidTestProject/AndroidStudio

:打开 Android Studio。当你打开Android Studio时,点击导入项目(Eclipse ADT,Gradle等)

如果未显示“导入项目”(Eclipse ADT、Gradle 等),请通过转到“文件>关闭项目”来关闭当前项目。

图像描述enter image description here

.转到导出项目的完整目录,然后选择测试文件夹,该文件夹是项目的“产品名称”,然后单击“确定”。C:/AndroidTestProject/test

图像描述enter image description here

C.将弹出一个新窗口。将导入目标目录设置为在步骤 1 中创建的目录。C:/AndroidTestProject/AndroidStudio

图像描述enter image description here

.单击“下一步”按钮。勾选/选中复选框:

  • 如果可能,将 jar 替换为依赖项
  • 如果可能,将库源替换为依赖项
  • 创建 Gradle 样式(驼峰大小写)模块名称

,然后点按“完成”按钮。

图像描述enter image description here

2.等待 Android Studio 加载您的项目。

您将收到一个如下所示的错误:

错误:支持的最低 Gradle 版本为 2.14.1。当前版本是 2.10。如果使用 gradle 包装器,请尝试在 C:\AndroidTestProject\AndroidStudio\gradle\wrapper\gradle-wrapper\gradle-wrapper.properties 中编辑 distributionUrl 到 gradle-2.14.1-all.zip Fix Gradle wrapper 并重新导入项目
Gradle 设置

:只需单击“修复 Gradle 包装器”,然后重新导入项目 Gradle 设置消息。如果您没有看到此消息,请确保您位于“消息”选项卡中。有关详细信息,请查看下图。

图像描述

enter image description here

.等待 Android Studio 完成修复 Gradle 问题。

完成后,转到生成>Make 项目

项目构建完成后,转到 Run->Run'app'。

C.将弹出一个新窗口。你可以选择要在其上运行应用的设备、创建模拟器或选择现有模拟器来运行应用。在此示例中,我们将使用真实设备进行测试。

“连接的设备”下,选择您的设备,然后单击“确定”按钮。

图像描述

enter image description here

额外

:如果您希望能够调试应用程序,则必须从Unity启用它。返回导出到 Android Studio 步骤 2B 并启用开发构建。同时选择“脚本调试”,然后单击“导出”按钮。

.如果要查看消息,请转到 Android Studio 中的 Android Monitor 选项卡。Debug.Log

在下图中圈出的项目对于在 Android Studio 中调试时非常重要。

图像描述

enter image description here

这并不难。如果您这样做一次,您将不再需要此说明。


答案 2

“我想在Unity应用程序在Android手机上运行时从中获取日志”。

您无需导出到Android项目,只需在构建设置中启用“开发构建”,然后将手机连接到计算机并在手机上启用“开发模式”和“脚本调试”。

然后只需移动到安装Android sdk的路径,cd到平台工具,从命令提示符或终端运行这些命令

adb logcat 

如果你只想看到unity日志运行

adb logcat -s Unity

推荐