原文:Troubleshooting Android development
版本:2018.2
前言
在使用Unity开发安卓项目时,可能会遇到一些问题。这些问题通常是与插件或是与不正确的项目设置有关。本节概述了最常见的场景和相关的故障排除建议。
您的应用程序在启动后立即崩溃。
- 删除你所有的任何本地(Native)插件。
- 禁用剥离(stripping)。
- 使用adb logcat从设备中获取崩溃报告。请参阅安卓开发者官网的Logcat命令行工具文档以获取更多信息。
游戏在播放视频几秒钟后就崩溃了
确保安卓设备上的设置>开发者选项>不保留活动(Don’t keep activities)没有被勾选。
视频播放器(Video Player)是单独的一个活动,因此如果视频播放器被激活,游戏主活动将会被销毁(Destroy)。
没有找到安卓设备
如果Unity找不到连接到系统的安卓设备,请检查以下内容:
- 请确保你的设备实际上的确是连接到你的计算机(检查USB电缆和插座)。
- 请确保你的设备在开发者选项中启用USB调试。有关详细信息,请参阅Android SDK/NDK设置(同人翻译点此)。
- 从Android SDK安装的platform-tools directory(平台工具目录)中运行adb device命令,并检查输出。
- 如果输出列表为空,并且您正在使用Windows,则可能需要为Android Debug Bridge(安卓调试桥)设备安装驱动程序。有关详细信息,请参阅Android SDK/NDK设置(同人翻译点此)。
- 如果列表包含有未授权标签的条目,则可能需要授权设备上的计算机并授予其调试权限。请检查设备以确认。
- 如果列表包含着携带了标记着名字的设备,请重新在Unity中构建项目。
二次打包(Re-package)资源失败
当 Android Asset Packaging Tool(安卓资源打包工具)失败时就会发生这种错误。AAPT用来在安卓构建期间时所构建的媒介资源包(Intermediate Asset packages)。这个问题通常是由安卓插件中资源的缺失或重复造成的。
查看控制台消息了解更多细节:它应该记录了缺失或重复资源的ID。通过在插件中添加缺失的资源/删除重复的资源,来修复插件中的错误。
无法合并安卓清单(Android Manifests)
造成这个问题的最可能的原因是,其中一个插件的某一清单与Unity主清单不匹配。
查看Console(控制台)消息查找更多细节,了解关于哪些部分是有矛盾的,并依此修复清单。
有关安卓清单的详细信息,请参阅《安卓清单》文档。
无法将类(Classes)转换为DEX格式
这个问题最有可能的原因是,你添加了同一个Java插件两次。当Unity试图从所有编译的Java插件中构建DEX(Dalvik Executable Format)文件时,这会导致类被复制。检查Console输出的重复条目列表,并修复插件。
如果Console的消息说“Too many references”(太多引用),则表示Fields(字段)和Methods(方法)的数量超过了DEX64k的限制。这通常在插件或插件资源的数量太大时发生。由于引用的生成方式,几个大一些的插件都会冲击到限制。
有几种方法来处理这个问题。其中之一是剥离插件。然而,修复它的最快方法是切换到Gradle build system,或者导出项目并在Android Studio中构建它。
无法将APK安装到设备
此错误可由以下原因引起:
- 安装到不兼容的设备。
- 安装到运行低于Player settings(游玩设置)中的最低API级别(Minimum API Level)版本的安卓设备。
检查Console的实际输出的错误代码和内容。
——————————
译者注:有一些网站是不存在的,需要以科学的方式来打开。