【问题标题】:Exporting and running Unity3D project to Android Studio将 Unity3D 项目导出并运行到 Android Studio
【发布时间】:2016-12-23 04:14:07
【问题描述】:

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

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

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

FAILURE:构建失败并出现异常。

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

    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 : 不支持的 major.minor 版本 52.0 在 java.lang.ClassLoader.defineClass1(本机方法)在 java.lang.ClassLoader.defineClass(ClassLoader.java:800) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 在 java.net.URLClassLoader.access$100(URLClassLoader.java:71) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:361) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:355) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:425) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:358) 在 sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) 线程“main”中的异常

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

【问题讨论】:

    标签: java android android-studio unity3d


    【解决方案1】:

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

    导出到 Android Studio

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

    2.导出到C:/AndroidTestProject

    A.文件->构建设置...

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

    图片说明

    C。点击导出按钮。

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

    图片说明

    Unity 将构建您的项目。

    生成项目后,将在C:/AndroidTestProject 目录中创建一个新文件夹。该文件夹将以 产品名称播放器设置 中的任何名称命名。这是我在播放器设置中的产品名称:

    图片说明

    所以在我的例子中,新的文件夹名称将被称为 test 并将位于 C:/AndroidTestProject/test

    导入 Android Studio

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

    A。打开 Android Studio。打开 Android Studio 后,点击导入项目(Eclipse ADT、Gradle 等)

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

    图片说明

    B。转到导出项目 C:/AndroidTestProject/test 的完整目录,然后选择 test 文件夹,该文件夹是您的 Product Name项目,然后单击确定

    图片说明

    C。会弹出一个新窗口。将 Import Destination Directory 设置为在步骤 1 中创建的 C:/AndroidTestProject/AndroidStudio

    图片说明

    D。单击下一步按钮。 勾选/选中以下复选框:

    • 尽可能用依赖项替换 jars
    • 尽可能用依赖项替换库源
    • 创建 Gradle 样式 (CamelCase) 模块名称

    然后点击完成按钮。

    图片说明

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

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

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

    A。只需点击Fix Gradle wrapper and re-import project Gradle settings消息。如果您没有看到此消息,请确保您位于 消息 标签中。查看下图了解更多信息。

    图片说明

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

    完成后,转到Build->Make Project

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

    C。会弹出一个新窗口。您可以选择运行应用程序的设备、创建模拟器或选择现有的模拟器来运行应用程序。在本例中,我们将使用真实设备进行测试。

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

    图片说明

    额外

    A。如果您希望能够调试您的应用程序,您必须从 Unity 启用它。返回EXPORTING TO Android Studio步骤2B并启用Development Build。同样选择Script Debugging然后点击导出按钮。

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

    下图中圈出的项目是在 Android Studio 中调试时需要了解的重要内容。

    图片说明

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

    【讨论】:

    • 谢谢!我部分跳过了复选框:D
    • 我知道你遗漏了一些东西。只是不知道是哪一部分,所以我发布了所有部分。祝 Android Studio 好运。
    • 如果步骤 C 没有出现怎么办? (导入目标目录)它只是提示我是想使用 Gradle 包装器还是手动配置它。我选择了“Gradle wrapper”,但它没有让我改变选择目标文件夹,所以我猜它只是使用 Unity 导出的项目文件夹作为 Android Studio 项目文件夹?
    • @bigp 这里有多个 C。哪个类别的C?另外请记住,这篇文章很旧,我计划更新它以使用 Gradle。
    • 啊,我重新阅读后才意识到有几个'C'。我指出它后面是C.A new Window will pop up. Set the Import Destination Directory to be
    【解决方案2】:

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

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

    然后简单地移动到你的 android sdk 的安装路径,cd 到 platform-tools,从命令提示符或终端运行这些命令

    adb logcat 
    

    如果您只想查看统一日志运行

    adb logcat -s Unity
    

    【讨论】:

      猜你喜欢
      • 2017-06-25
      • 2014-10-09
      • 2020-10-04
      • 2013-05-20
      • 2017-04-02
      • 1970-01-01
      • 2016-01-13
      • 2015-05-13
      • 2017-12-07
      相关资源
      最近更新 更多