尝试在Unity3d中构建Android版本时遇到问题

时间:2018-08-21 10:02:05

标签: java c# android unity3d gradle

我尝试在Gradle和Internal中都在Unity3d中构建我的应用程序,但是两次都在构建过程结束时遇到错误。我的应用程序中也有一些插件,因此我尝试更改SDK,并确保将所有插件都导入到我的资产中,但这无济于事。

构建系统为Gradle时发生错误:

cmd /c installer.exe -c

构建系统为内部错误:

CommandInvokationFailure: Gradle build failed. 
C:/Program Files/Java/jdk1.8.0_181\bin\java.exe -classpath 



"C:\ProgramFiles\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\
gradle\li 
b\gradle-launcher-4.2.1.jar" org.gradle.launcher.GradleMain "- 
Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"

stderr[
Note: C:\Users\Hendrik\Desktop\POOWA- 
master\Temp\gradleOut\src\main\java\com\google\unity\ads\Banner.java uses or 
overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':transformDexWithDexForRelease'.
> com.android.build.api.transform.TransformException: 
com.android.ide.common.process.ProcessException: 
java.util.concurrent.ExecutionException: 
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 
65536

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

* Get more help at https://help.gradle.org

这些不是完全错误,但是我认为这些仍然应该显示出什么问题。如果需要,我还可以提供更多。

1 个答案:

答案 0 :(得分:1)

您尝试过吗?

Android环境设置 无论您是在Unity中构建Android应用还是从头开始对其进行编程,都必须先设置Android软件开发工具包(SDK),然后才能进行构建  并在您的Android设备上运行任何代码。

  1. 安装Java开发工具包 下载并安装Java开发工具包(JDK)。 Unity需要64位版本的JDK 8(1.8)。

  2. 下载Android SDK 您可以使用命令行工具或通过Android Studio安装Android SDK。 Android Studio提供了一个易于使用的基于GUI的工具,但在您的计算机上安装了其他软件。使用命令行工具的下载量较小,并且不会安装其他软件,但使用起来可能更具挑战性。

2a。使用命令行工具安装Android SDK 安装或解压缩Android SDK。安装后,打开Android SDK Manager并添加:至少一个Android SDK Platform,Platform Tools,Build Tools和USB驱动程序(如果使用Windows)。

要安装Android平台SDK和相关工具,请执行以下操作:

下载Android软件命令行工具。

将tools文件夹解压缩到硬盘驱动器上的某个位置。

打开命令提示符窗口。

在解压缩工具文件夹的位置导航到bin文件夹:“安装文件夹”> tools> bin

使用sdkmanager命令行工具检索可以安装的软件包列表。可安装的软件包包括平台SDK,构建工具,平台工具和其他工具。

sdkmanager –列表

选择要安装的Platform SDK版本。平台SDK在列表中采用以下形式:platform; android-xx。 xx表示SDK级别。数字越大,包装越新。通常,您可以安装最新的可用版本。但是,在某些情况下,Google发布了新版本的SDK会在您构建Unity项目时导致错误。在这种情况下,您必须卸载SDK并安装早期版本。软件包安装命令的一般格式为sdkmanager。您可以同时安装相应的平台工具和构建工具。

示例:sdkmanager“平台工具”“平台; android–27”“ build-tools; 27.0.3”

如果您在Windows上运行,请安装USB设备驱动程序。

sdkmanager“ extras; google; usb_driver”

这会将SDK安装在解压缩tools文件夹的目录中的“ platforms”目录中。示例:c:\\ platforms

2b。使用Android Studio安装SDK 从Android开发人员门户安装Android Studio。 Android开发人员门户网站提供了详细的安装说明。

在安装Android平台SDK和其他工具时,通常可以安装最新的可用版本。在某些情况下,Google发布了新版本的SDK会在您构建Unity项目时导致错误。在这种情况下,您必须卸载SDK并安装早期版本。

同时安装关联的平台和构建工具。如果您在Windows上运行,请安装USB设备驱动程序。

  1. 在设备上启用USB调试 要启用USB调试,必须在设备上启用“开发人员”选项。为此,请在设备的“设置”菜单中找到内部版本号。内部版本号的位置因设备而异。可以通过导航到“设置”>“关于手机”>“内部版本号”来找到Android库存设置。有关您的设备和Android版本的具体信息,请咨询您的硬件制造商。

内部版本号(显示在Samsung Galaxy Note 3的Android 5.0(Lollipop)中) 内部版本号显示在Samsung Galaxy Note 3的Android 5.0(Lollipop)中 注意:在4.2之前的Android版本(Jelly Bean)中,“开发人员”选项未隐藏。转到“设置”>“开发人员”选项,然后启用USB调试。

按照上述说明导航至内部版本号后,点击内部版本号七次。出现一个弹出式通知,提示“您现在距离成为开发人员X步之遥”,其中“ X”是一个数字,每增加​​一个水龙头就会递减一次。在第七次点击时,开发人员选项被解锁。

使用USB电缆将设备连接到计算机。如果您在Windows计算机上进行开发,则可能需要安装设备专用的USB驱动程序。有关其他信息,请参见设备的制造商网站。

Windows和macOS的设置过程有所不同,Android开发者网站上对此进行了详细说明。有关将Android设备连接到SDK的更多信息,请参阅Android Developer文档的“运行您的应用”部分。

转到设置>开发人员选项,然后选中USB调试复选框以在设备通过USB连接到计算机时启用调试模式。

Android 5.0(Lollipop)中显示的开发人员选项-Samsung Galaxy Note 3 Android 5.0(Lollipop)中显示的开发人员选项-Samsung Galaxy Note 3 4.在Unity中配置Android SDK路径 第一次创建Android项目时(或者如果Unity以后无法找到SDK),Unity会要求您找到安装Android SDK的文件夹。

如果使用sdkmanager安装了SDK,则可以在\ platforms \中找到该文件夹​​。

示例:

c:\\ platforms \ android–27

如果在安装Android Studio时安装了SDK,则可以在Android Studio SDK管理器中找到该位置。要从Android Studio打开SDK Manager,请依次点击工具> Android> SDK Manager或工具栏中的SDK Manager。

SDK管理器工具栏按钮 SDK Manager工具栏按钮 要更改Android SDK的位置,请在菜单栏中转到Unity>偏好设置>外部工具。

  1. 下载并设置Android NDK 如果您使用的是IL2CPP 脚本后端 对于Android,您需要Android本机开发套件(NDK)。它包含构建必要的库并最终生成输出包(APK)所需的工具链(例如编译器和链接器)。如果您的目标不是IL2CPP后端,则可以跳过此步骤。

从NDK下载网页下载Android NDK版本r13b(64位)。将android-ndk文件夹解压缩到计算机上的目录中,并记下位置。

首次使用IL2CPP构建Android项目时,系统会要求您找到安装Android NDK的文件夹。选择您的NDK安装的根文件夹。要更改Android NDK的位置,请在Unity编辑器中,导航至菜单:Unity>首选项以显示Unity首选项对话框。在这里,单击“外部工具”。