juntao fc0bf595bd 1. 修复偶发的点击安装按钮空指针闪退
2. 修复停留在微信登录页面时下载完成触发的闪退
3. 修复游戏详情页面自定义栏目展开按钮在部分设备上的数组越界闪退
4. 修复分类详情列表页面偶发的空指针闪退
5. 修复游戏管理游戏下载页面的数组越界闪退
6. 修复游戏评论回复页面偶发的空指针闪退
7. 修复通用评论页(视频、答案和文章)列表偶发的空指针闪退
8. 修复问题详情页面偶发的空指针闪退
9. 修复历史修改版本页面偶发的空指针闪退
10. 修复新增开服页面偶发的空指针闪退
11. 修复修改开服页面偶发的空指针闪退
12. 修复视频合集页面偶发的空指针闪退
13. 修复上传视频页面偶发的空指针闪退
14. 修复全局页面点返回键偶发的闪退
15. 修复反馈页面偶发的空指针闪退
16. 修复微博分享页面偶发的空指针闪退
17. 修复游戏新闻搜索页面偶发的空指针闪退
18. 修复全局下载进度更新偶发的闪退
2020-12-28 15:58:32 +08:00
2020-11-10 14:37:33 +08:00
2020-12-02 10:50:15 +08:00
2018-12-28 17:41:16 +08:00
2020-11-10 14:37:33 +08:00
2019-08-07 16:50:17 +08:00
2019-12-03 16:07:13 +08:00
2020-12-26 19:08:25 +08:00
2017-05-10 15:22:50 +08:00
2020-12-10 16:54:27 +08:00

光环助手Android客户端

APK打包配置

  • 使用ApkChannelPackage的方案

  • 打包命令,视情况使用:

    打包Tinker基准包./scripts/tinker_release_base.sh

    以Tinker基准包打渠道包./scripts/tinker_release_channel.sh

    以Tinker基准包打补丁包./scripts/tinker_release_patch.sh

混淆配置

  • 配置文件Android默认配置+proguard-rules.txt等
  • 参考libraries下每个项目独立的配置文件proguard-project.txt

apk大小优化

  • 限制resConfig资源集
  • 开启ShrinkResources
  • 开启混淆使用minifyEnabled(仅在release开启
  • pngquant对png压缩、png/jpg->webp(未尝试)

第三方appkey等配置

  • 修改gradle.properties文件将各种key填入其中实现统一管理
  • 通过gradle文件内的resValue/buildConfigField/manifestPlaceHolder方式实现编译期间修改具体情况请参考./build.gradle./app/build.gradle配置

拉取代码步骤

  1. 拉取主项目代码: git clone -b dev git@gitlab.ghzhushou.com:halo/assistant-android.git
  2. 初始化公用类库: bash ./scripts/submodules_init.sh

submodule管理方式(只拉取master)

  • 提交代码需要cd到submodule文件夹去做修改
  • 更新远端代码,bash ./scripts/submodules_update.sh

TODO

  • GSON 序列化用统一的一个, GsonUtil fromJson

  • CleanApkAdapter 转化字符串size工具函数 比如SpeedUtils

  • getString 解决 字符串hardcode问题

  • Adapter 里面clicklistener 用接口传参将点击操作委托给controller

  • Adapter ViewHolder的功能部分重写到ViewHolder类本身

  • activity 统一入口未完成(外部入口相关)去除多余activity使用统一toolbar

  • release / debug compile不同的类库不需要再做什么开关

  • Toolbar分离有图形按钮/没有图形按钮

TODO Since 3.1

  • 解决 Utils 工具类引发的内存泄漏问题

  • 把原有 EventBus 的消息 Type 统一到一个文件内

  • 将实现细节从 View(Fragment、Activity) 剥离并以 MVVM 结构改造

  • 将 ListViewModel 所对应的 ListRepository 合并到 ListViewModel 中

  • 依照光环助手界面功能以大模块 - 小模块的方式去修改包结构,包内文件建议以包名摘要作为前缀

  • 使用 RxJava 的 Debounce 和 Map 操作优化搜索触发机制 参考资料:1,2

  • 把 ListViewModel 的数据结构类型转换方式换为抽象方法,让继承的类实现,避免出现无响应的问题

  • rxjava2 如果接口返回为空 会发生异常:java.lang.NullPointerException: Null is not a valid element (答案编辑) 解决方法->com.gh.gamecenter.retrofit.Response

  • constraintLayout 1.1.2 导致布局出现异常(问题编辑标签选择弹窗)

  • 搞清楚 GameManager 的用途,看能不能去掉

  • 重构一下 MainActivity

Description
光环助手Android
Readme 233 MiB
Languages
Kotlin 79.3%
Java 20.1%
Shell 0.3%
JavaScript 0.2%
Groovy 0.1%