游戏 sdk 开发总结

image.png

前言

历时 2 个月的时间,终于完成了第一个作品,开发过程中产品的逻辑界面经历了多次改动,而代码保持了简洁清晰,真的学到蛮多东西.

目录

  • sdk 开发的不同点
  • 屏幕适配
  • 混淆
  • 自定义控件
  • Gradle 设置

sdk 开发的不同点

sdk 和普通 app 有什么区别呢?

  1. sdk 是作为一个 module ,也就是程序库,它不能独立存在,需要其他app去调用.
  2. sdk 不能引入开源框架,比如图片处理框架 gilde , 网络框架 retrofit okhttp 等,因为引用该 sdk 的 app 也可能使用相同的开源库,这就会导致冲突.
  3. sdk 需要暴露回调接口给被调用者,比如这款游戏 sdk 中登陆状态,支付结果都会回调给游戏.

屏幕适配

  1. TextView 的字体大小以dp为单位,而非sp
  2. 具有虚拟按键的手机常常需要做处理,可以动态设置控件的位置来解决
  3. 使用今日头条屏幕适配方案

混淆

混淆在一定程度上降低代码的可读性,提高反编译的门槛,并且还可以压缩app的体积,所以每款应用发布前需要且必须对代码进行混淆。

sdk 的混淆又与应用程序不同,与应用程序想比除了常用的混淆配置外,不能混淆暴露的回调接口,还需要提供一份混淆配置文件,防止接入 sdk 后混淆关键代码导致的闪退崩溃。

自定义控件

游戏 sdk 中的自定义控件有:密码键盘,自定义 EditView,区号选择,悬浮球等,其中大多是难度较低的组合控件.

Gradle 设置

Gradle 作为 As 的项目构造工具,比 Ant 更容易添加外部依赖,也就是说当需要用到某个开源工具时,只需要在 build.gradle 文件里添加 "implementation","compile" 等语句就可以轻松引入.

Gradle 分为两个版本:Gradle 版本和 Gradle 插件版本,这两个在 As 中都是要配置的,智能的 IDEA 已经帮我们自动配置好了.

Gradle 插件版本配置位置

image.png

Gradle 插件版本配置位置

image.png

这俩版本可不能随便设置,它们的版本号之间有对应关系,详细配置请移步Android 官网

image.png

在实际开发中,我发现一个有趣的现象,游戏 sdk 在 Eclipse 上的编译速度更快,但是也经常出现千奇百怪的错误.

你可能感兴趣的:(游戏 sdk 开发总结)