首页 文章

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

提问于
浏览
19

我希望在Android手机上运行时从Unity Application获取日志 . 为此,我必须从Unity3D导出Android项目并使用Android Studio运行它 . 我正在做以下步骤:

通过从播放器设置中选择 Google Android Project 选项,从Unity3D导出项目

  • .

  • 打开Android Studio并从位置驱动器导入自动生成的项目 .

  • 选择 Build -> Make Project.

  • 选择 Run -> Run 'ModuleName'.

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

FAILURE:构建因异常而失败 . 出了什么问题:任务执行失败':'ModuleName':transformClassesWithDexForDebug' . java.lang.UnsupportedClassVersionError:com / android / dx / command / Main:java.lang.ClassLoader.defineClass(ClassLoader.java:800)at java.lang.ClassLoader.defineClass1(Native Method)中不支持的major.minor版本52.0 at java.net下的java.net.URLClassLoader.access $ 100(URLClassLoader.java:71)的java.net.URLClassLoader.defineClass(URLClassLoader.java:449)中的java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) . URLClassLoader $ 1.run(URLClassLoader.java:361)java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)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 $ AppClassLoader.loadClass(Launcher.java:308)at java.lang.ClassLoader.loadClass(ClassLoader.java:358 )at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)线程“main”中的异常com.android.ide.common.process.ProcessException:org.gradle.p rocess.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.7.0_79 \ bin \ java.exe''以非零退出值1结束尝试:使用--stacktrace选项运行以获取堆栈跟踪 . 使用--info或--debug选项运行以获取更多日志输出 . BUILD FAILED总时间:0.788秒java.lang.UnsupportedClassVersionError:com / android / dx / command / Main:java.lang.ClassLoader.defineClass上java.lang.ClassLoader.defineClass1(Native Method)中不支持的major.minor版本52.0( ClassLoader.java:800)位于java.net.URLClassLoader.defineClass(URLClassLoader.java:449)的java.security.ClassLoader.defineClass(SecureClassLoader.java:142)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)at java.net .URLClassLoader.findClass(URLClassLoader.java:354)at java.lang.ClassLoader.loadClass(ClassLoader.java:425)at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308)at java.lang.ClassLoader . 在sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)中的loadClass(ClassLoader.java:358)线程“main”中的异常

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

2 回答

  • 3

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

    EXPORTING TO Android Studio

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

    2 . 导出到 C:/AndroidTestProject .

    A . File - > Build Settings...

    B . 在左侧选择 Android ,然后勾选 Google Android Project 复选框 .

    图像描述:
    enter image description here

    C . 单击 Export 按钮 .

    D . 选择 C:/AndroidTestProject 然后单击 Select Folder 按钮 .

    图片描述:

    enter image description here

    Unity将构建您的项目 .

    生成项目后,将在 C:/AndroidTestProject 目录中创建一个新文件夹 . 该文件夹将被命名为 Player Settings 中的 Product Name . 这就是我的产品名称 Player Settings

    图像描述:
    enter image description here

    所以在我的情况下,新的文件夹名称将被称为 test ,并将位于 C:/AndroidTestProject/test .

    IMPORTING INTO Android Studio

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

    A . 打开 Android Studio . 打开Android Studio时,单击 Import project (Eclipse ADT,Gradle, etc.)

    如果未显示 Import project (Eclipse ADT,Gradle, etc.) ,请转至 File - > Close Project 关闭当前项目 .

    图片描述:
    enter image description here

    B . 转到导出项目的完整目录 C:/AndroidTestProject/test ,然后选择 test 文件夹,即项目的 Product Name ,然后单击 Ok .

    图像描述:
    enter image description here

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

    图像描述:
    enter image description here

    D . 单击 Next 按钮 . 勾选/选择以下复选框:

    • 尽可能用依赖项替换jar .

    • 尽可能使用依赖项替换库源 .

    • 创建Gradle样式(CamelCase)模块名称 .

    然后单击 Finish 按钮 .

    图像描述:
    enter image description here

    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 消息 . 如果您没有看到此消息,请确保您位于 Messages 标签中 . 请查看下面的图像以获取更多信息 .

    图片描述:

    enter image description here

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

    完成后,转到 Build - > Make Project .

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

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

    Connected Devices 下,选择您的设备,然后单击 OK 按钮 .

    图片描述:

    enter image description here

    Extra

    A . 如果您希望能够调试您的应用程序,则必须从 Unity 启用它 . 返回 EXPORTING TO Android Studio 步骤 2B 并启用 Development Build . 另外选择 Script Debugging 然后单击 Export 按钮 .

    B . 如果您想查看 Debug.Log 消息,请转到 Android Studio 中的 Android Monitor 标签 .

    下面图片中带圆圈的项目对于了解何时在Android Studio中进行调试非常重要 .

    图片描述:

    enter image description here

    这不是很难 . 如果你这样做一次,你将不再需要这个指令 .

  • 42

    “当我在Android手机上运行时,我希望从Unity应用程序中获取日志” .

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

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

    adb logcat
    

    如果你想看到统一日志运行

    adb logcat -s Unity
    

相关问题