小游戏打包发布安卓APK

如今,通过Egret、LayaBox、CoCos引擎开发的小游戏越来越流行,很多开发者也通过引擎直接发布原生Android安装包,本文主要总结了发布安装包需要实现的功能和可能遇到的问题。

一、小游戏打包安卓APK需要实现的功能:
1、基础功能

  • js和java相互通信
  • 获取唯一设备id
  • 版本更新功能(包括版本配置、更新提示、下载安装整个流程)
  • 实现数据的本地持久化,使用SharedPreferences
  • 复制信息到粘贴板
  • 触发震动
  • App手机通知功能

2、游戏接入

  • 账号体系(微信登录、登录账号缓存、个人信息获取与处理、openid、联合id,账号退出时清理用户数据,停止timer,重新登录)
  • 广告接入: 腾讯优量汇或穿山甲广告接入(视频、banner、插屏等)
  • 微信分享功能及回调处理(普通分享、截屏生成图片分享)
  • 邀请来源机制(完成分享到邀请整个流程,需要管理好邀请关系)
  • 友盟统计

3、其它辅助细节处理:

  • window.onError 全局错误侦听和上报
  • 如果接入应用宝市场,需要显示“用户协议”
  • 需要针对网络异常时,屏蔽广告等
  • 编写脚本,实现发布版本时自动修改版本号 //参考https://blog.csdn.net/a1064072510/article/details/82994857
  • 针对不同渠道添加渠道编译参数 参考 https://www.cnblogs.com/ldq2016/p/7568906.html
  • 如何查看一个陌生apk的证书信息、生成panda.jks证书、生成panda.keystore证书,如何对空白包进行签名
  • 优化素材调用机制,部分素材不打包到apk
  • 客户端数据配置缓存服务端同步机制(保证在紧急情况下无效发版本更新数据配置表)
  • 游戏内查看apk版本号

二、egret游戏 接入安卓遇到问题
1、用 hitTestPoint 会导致闪退,报错如下:
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x78 in tid 3596 (GLThread 5070), pid 3517 (wer_def.android)
2、JsonObject 低版本似乎不支持,改用第三方 Gson
3:app隐藏(finish)的时候 不会马上释放资源,单例类还会在后台运行,哪怕再次启动app,也还会存在,所以要考虑单例变量的重新赋值
4、安装apk安装不了,提示:Android 6.0 更新包与已安装应用的签名不一致 (应该是之前版本没有卸载干净)
解决办法:强制使用命令卸载:adb uninstall xxx
常用的命令有:
adb devices # 确认连接到设备
adb uninstall xxx # 卸载
adb shell pm list packages # 查看包名_非必须
5、2个app不要用相同的证书签名,否则在接入微信登录sdk,如果同时安装了2个app,那只有1个能正常调取微信登录
6、AndroidManifest.xml 属性冲突;参考:https://blog.csdn.net/cpcpcp123/article/details/84882373
7、微信登录api在登录取消时,也会触发WXEntryActivity里面onResp方法,要做好兼容提示
8、egret引擎,打包在android里面运行,texture.toDataURL(“image/jpeg”)输出的居然是png数据,电脑浏览器里面正常

三、其它知识点:
1、Aandroid studio 构建 gradle文件 存放到 K:\egert_sdk_files.gradle,不要放到用户文件夹,
设置方法:Aandroid studio ==> file ===> settings ===> Build,Execution,Deployment ===>Gradle ===> Global Gradle settings,修改文件夹为自己要设置的文件夹:
2、手机存储卡问题:https://bbs.csdn.net/topics/391891314?page=1
3、下载apk的时候:报错:open failed: EACCES (Permission denied)
原因是AndroidManifest.xml里面没有配置权限
参考:https://blog.csdn.net/fightsyj/article/details/82664217
4、ActivityCompat 里面没有 checkSelfPermission方法,需要使用android-support-v4.jar 最新版本
https://download.csdn.net/download/omaidoudou/10887315
5、minSdkVersion 区别:
https://blog.csdn.net/qq_41933149/article/details/89926191

你可能感兴趣的:(小游戏开发)