将Unity3D项目导出并运行到Android Studio [英] Exporting and running Unity3D project to Android Studio

查看:1011
本文介绍了将Unity3D项目导出并运行到Android Studio的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望在Android手机上运行时从Unity Application获取日志。为此,我必须从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 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)
    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 $ AppClassLoader.loadClass(Launcher.java:308)at
    java.lang.ClassLoader.loadClass (ClassLoader.java:358)
    sun.launcher.La uncherHelper.checkAndLoadMain(LauncherHelper.java:482)
    线程main中的异常


    com.android.ide.common。 process.ProcessException:org.gradle.process.internal.ExecException:进程'命令
    'C:\Program Files \Java \ jdk1.7.0_79 \ bin\java.exe''以$结尾b $ b非零退出值1



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




BUILD FAILED



总时间:0.788秒



java.lang.UnsupportedClassVersionError:com / android / dx / command / Main:
不受支持的major.minor版本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)
java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)at
java.security.AccessController。 doBrivileged(本地方法)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中的异常


我很久以前一直在使用Eclipse但从来没有面对这个。任何人都可以指导我如何在Android Studio中成功运行Unity-Android项目吗?

解决方案

将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 目录中创建一个新文件夹。无论您的产品名称位于播放器设置中,该文件夹都会被命名。这是我的产品名称在播放器设置中:



图片描述



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



进入Android Studio



1 。在 C:/ AndroidTestProject / AndroidStudio 的新文件夹c>目录。该文件夹的完整路径应为 C:/ AndroidTestProject / AndroidStudio



A 。打开 Android Studio 。当您打开Android Studio时,单击导入项目(Eclipse ADT,Gradle等)



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



图像描述



B 。转到导出项目的完整目录 C:/ AndroidTestProject / test 然后选择测试文件夹,这是项目的<产品名称,然后点击确定



图片描述



C 。新风ow会弹出来的。将导入目标目录设置为 C:/ AndroidTestProject / AndroidStudio 这是在步骤1中创建的。



图片描述



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




  • 在可能的情况下用依赖项替换jar

  • 在可能的情况下用依赖项替换库源

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



然后点击完成按钮。



图片描述



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



您将收到如下错误:


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





b

A 。只需点击修复Gradle包装并重新导入项目Gradle设置消息。如果您没有看到此消息,请确保您位于消息标签中。请查看下面的图片以获取更多信息。



图像描述



< a href =https://i.stack.imgur.com/fShVx.png =noreferrer>



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



完成后,转到构建 - > 制作项目



项目完成后,转到运行 - > 运行'app'



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



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



图像描述





额外



A Unity 启用它。返回导出到Android Studio 步骤 2B 并启用开发构建。还要选择脚本调试,然后单击导出按钮。



B 。如果您想查看 Debug.Log 消息,转到 Android Studio 中的 Android监视器标签。



带圆圈的项目在Android Studio中进行调试时,下面的图片非常重要。



图像描述





这并不难。如果你这样做,你将不再需要这个指令。


I want to get logs from Unity Application when its running on Android phone. For this I have to export Android project from Unity3D and run it using Android Studio. I am doing following steps:

  1. Export Project from Unity3D by selecting Google Android Project options from player settings.
  2. Open Android Studio and Import the autogenerated project from location drive.
  3. Select Build -> Make Project.
  4. Select Run -> Run 'ModuleName'.

I am getting following errors in Gradle console:

FAILURE: Build failed with an exception.

  • What went wrong: Execution failed for task ': '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$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) Exception in thread "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'' finished with non-zero exit value 1

  • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 0.788 secs

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$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) Exception in thread "main"

I have been working with Eclipse long ago but never faced this before. Can anyone guide me how to successfully run a Unity-Android project in Android Studio?

解决方案

Exporting and running Unity3D project to Android Studio is not really hard. Make sure the you have the latest version of Unity(5.4) and Android Studio(2.1.3). This steps were made with the version mentioned above.

EXPORTING TO Android Studio:

1.Create a root folder that will hold the exported folders and files. Let's call it AndroidTestProject in this case and the full Directory will be C:/AndroidTestProject.

2.Exporting to C:/AndroidTestProject.

A.File->Build Settings...

B.Select Android on the left then tick Google Android Project checkbox.

Image Description:

C.Click the Export Button.

D.Select C:/AndroidTestProject then click the Select Folder Button.

Image Description:

Unity will build your project.

After Generating the project, a new folder will be created in the C:/AndroidTestProject directory. That folder will be named whatever your Product Name is in the Player Settings. This what my product name is in the Player Settings:

Image Description:

So in my case, the new Folder name will be called test and will be located at C:/AndroidTestProject/test.

IMPORTING INTO Android Studio:

1.Create a new Folder called AndroidStudio in the C:/AndroidTestProject/ directory. The full path of that folder should be C:/AndroidTestProject/AndroidStudio.

A.Open Android Studio. When you open Android Studio, click on Import project (Eclipse ADT,Gradle, etc.)

If Import project (Eclipse ADT,Gradle, etc.) is not displayed, close the current project by going to File->Close Project.

Image Description:

B.Go to the full directory of the exported project C:/AndroidTestProject/test then select the test folder which is the Product Name of your project then click Ok.

Image Description:

C.A new Window will pop up. Set the Import Destination Directory to be C:/AndroidTestProject/AndroidStudio which was created in step 1.

Image Description:

D.Click the Next Button. Tick/Select the follwing check boxes:

  • Replace jars with dependencies, when possible.
  • Replace library sources with dependencies, when possible.
  • Create Gradle-style (CamelCase) module names.

then click the Finish Button.

Image Description:

2.Wait for Android Studio to load your project.

You will get an error that looks like this:

Error:Minimum supported Gradle version is 2.14.1. Current version is 2.10. If using the gradle wrapper, try editing the distributionUrl in C:\AndroidTestProject\AndroidStudio\gradle\wrapper\gradle-wrapper.properties to gradle-2.14.1-all.zip Fix Gradle wrapper and re-import project
Gradle settings

A.Simply click on the Fix Gradle wrapper and re-import project Gradle settings message. If you don't see this message, make sure that you are in the Messages Tab. Look at the image below for more information.

Image Description:

B.Wait for Android Studio to finish fixing the Gradle problem.

When finished, go to Build->Make Project.

After project is done building, go to Run->Run 'app'.

C.A new Window will pop up. You can either chose the device to run the app on, create an emulator or chose already existing emulator to run the app. In this example we will use a real device to test.

Under Connected Devices, select your device then click the OK button.

Image Description:

Extra:

A.If you want to be able to debug your App, you have to enable that from Unity. Go back to EXPORTING TO Android Studio step 2B and enable Development Build.Also select Script Debugging then click the Export Button.

B.If you want to see Debug.Log messages, go to the Android Monitor Tab in the Android Studio.

The circled items in the image below are important to know when Debugging in Android Studio.

Image Description:

This is not really hard. If you do it once, you won't need this instruction again.

这篇关于将Unity3D项目导出并运行到Android Studio的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆