2021-01-26 16:17:29 +08:00
2021-01-26 16:17:29 +08:00
2020-11-10 14:37:33 +08:00
2021-01-25 18:24:53 +08:00
2020-12-22 16:25:56 +08:00
2020-12-22 16:25:56 +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
2021-01-19 14:56:00 +08:00
2021-01-07 16:11:40 +08:00
2017-05-10 15:22:50 +08:00
2020-12-02 17:59:21 +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%