游戏 sdk 开发总结

作者: 毛先森 | 来源:发表于2018-09-20 09:32 被阅读16次
    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 开发总结

        本文链接:https://www.haomeiwen.com/subject/ycdgnftx.html