UM1——Android开发基础

Android开发基础

本系列学习内容

  • 新版Unity打包安卓应用程序(Unity2019版及以上版本)

  • 旧版Unity打包安卓应用程序(Unity2019版以前)

  • 打包安卓应用程序相关设置

    • Build Settings
    • Player Settings
  • Android Studio打包安卓应用

  • 调试相关

    • Unity内调试安卓应用程序
    • Unity Remote(快速的测试设备的输入相关功能)
    • Android Logcat (查看日志打印,内存统计,屏幕截图或录屏,堆栈跟踪)
    • Android Studio内调试安卓程序

原生安卓游戏开发如何进行

要进行原生的安卓(Android)游戏开发,我们需要掌握的知识有:

  1. Java语言 或 Kotlin语言
  2. 对应的开发工具(IDE):Android Studio(推荐)、Eclipse、IntelliJ IDEA等
  3. Android 开发流程
  4. Android SDK 的使用

等等

学会了这些,我们才能开发在安卓(Android)平台上运行的应用程序(游戏、应用等)

而Unity作为跨平台的引擎,可以让我们在Unity中进行开发后,直接发布安装包,可以让使用Unity开发的游戏、应用在安卓(Android)平台上运行
所以,我们不用特别深入的学习安卓(Android)开发相关,只需要大概了解它的部分知识即可(从需求触发,需要时再去学习了解即可)

注意:
目前市面上的安卓(Android)开发岗位,大多数情况下,Java程序员就可以兼容,一般安卓开发,主要是针对安卓(Android)平台上的应用开发
由于跨平台引擎(Unity、UE、Cocos等)的普及,几乎没有公司会基于单一平台开发游戏,都是使用跨平台引擎,方便多平台发布,一劳永逸

就算我们没学过安卓开发相关知识点,我们也是可以直接通过Unity发布安卓应用程序的
但是如果你想要 Unity 和 Android 交互、接入安卓平台的第三方SDK
那么需要具备一定的安卓开发相关知识点,我们会在之后的课程学习它们

移动平台开发这部分知识点,主要会在游戏开发末期(发布应用程序时)才会频繁应用
如果你现在没有这方面需求,那么不用着急学习这部分内容

Unity如何进行安卓游戏开发

Unity进行安卓开发,我们需要学习的知识点有:

  • 基础(对于 单机游戏、独立游戏开发者)

    1. Unity内发布安卓应用程序安装包(.apk),并运行在安卓手机上
    2. Unity发布安卓工程后,在AndroidStudio中发布安装包(.apk),并运行在安卓手机上
    3. 调试相关
  • 进阶(商业游戏开发)

    1. Java基础语法、Kotlin基础语法
    2. Unity 和 Andorid 交互
    3. 安卓平台 第三方SDK接入

为什么现在才学这部分知识点

其实我们目前学过的所有知识,99% 都是针对全平台的知识点,
不管你是做运行 电脑、主机、手机 上的哪种游戏,都可以用到我们学过的知识点
必须掌握了这些知识点,你才能全面的、游刃有余的完成游戏开发需求

对于不同平台来说,游戏逻辑几乎都是一模一样的,不同的只是输入的方式,比如:

  • 电脑 ——> 鼠标、键盘
  • 手机 ——> 触屏、按键
  • 主机 ——> 手柄

在Unity入门的Input​相关知识、Unity进阶的InputSystem​相关知识中
我们已经知道如何检测不同设备的输入来处理逻辑,并且UGUI、NGUI、FairyGUI这些常用UI开发方案,都已经处理了触屏响应

因此当学完C#、Unity、UI、数据持久化、网络、Lua等相关知识后,再来学习移动平台相关,是更合适的
这时,我们可以独立的完成开发需求,完成开发后,需要发布最终供玩家玩耍的应用程序时
再来学习Android和IOS相关的发布、SDK的接入等相关知识,因为这部分内容,在整个开发周期中,也是属于最后才会来做的工作

容易犯的错误

在Unity端或者PC端测试都是没有问题的,但是发布Android端应用后测试时发现有问题,
这时我们就要利用我们学习的Android端调试相关知识,定位问题,解决问题,不要凭感觉去处理

如何解决Android端的问题

  1. 将报错信息进行翻译,根据报错排查问题

  2. 利用搜索引擎或者ChatGPT来搜索对应问题的解决方案

  3. 常见问题处理:

    • 找不到某一个类,检查依赖配置,或尝试使用AndroidStudio打包
    • 本地文件加载时出错,尝试使用UnityWebRequest​或WWW​加载文件
    • 某些系统功能无法正常使用,需要检查相关功能是否支持移动平台