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

时间:2016-08-16 17:13:56

标签: java android android-studio unity3d

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

  1. 从播放器设置中选择 Google Android Project 选项从Unity3D导出项目。
  2. 打开Android Studio并从位置驱动器导入自动生成的项目。
  3. 选择构建 - >制作项目。
  4. 选择运行 - >运行'ModuleName'。
  5. 我在Gradle控制台中遇到以下错误:

      

    失败:构建因异常而失败。

         
        
    • 出了什么问题:任务执行失败':'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)   在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 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.process.internal.ExecException:进程'命令     '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 at   java.lang.ClassLoader.defineClass1(Native Method)at   java.lang.ClassLoader.defineClass(ClassLoader.java:800)at   java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)     在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 at   java.lang.ClassLoader.loadClass(ClassLoader.java:358)at   sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)   线程“main”中的异常

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

2 个答案:

答案 0 :(得分:46)

将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 复选框。

图片描述enter image description here

C 。点击导出按钮。

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

图片描述

enter image description here

Unity将构建您的项目。

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

图片描述enter image description here

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

导入Android Studio

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

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

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

图片描述enter image description here

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

图片描述enter image description here

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

图片描述enter image description here

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

  • 在可能的情况下用依赖项替换jar
  • 尽可能使用依赖项替换库源
  • 创建Gradle样式(CamelCase)模块名称

然后点击完成按钮。

图片描述enter image description here

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

您将收到如下错误:

  

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

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

图片描述

enter image description here

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

完成后,转到构建 - &gt; 制作项目

项目完成后,转到运行 - &gt; 运行&#39;

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

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

图片描述

enter image description here

<强>附加

A 。如果您希望能够调试应用,则必须从 Unity 启用它。返回导出到Android Studio 步骤 2B 并启用开发构建。还要选择脚本调试,然后单击< strong>导出按钮。

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

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

图片描述

enter image description here

这并不难。如果你这样做了一次,你又不会再需要这个指令了。

答案 1 :(得分:3)

&#34;我希望在Android应用程序和#34;上运行时从Unity应用程序获取日志。

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

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

adb logcat 

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

adb logcat -s Unity