# 光环助手Android客户端 ### Sourceset/debug/release * https://developer.android.com/studio/build/build-variants.html#sourcesets ### 多渠道打包配置 * 使用[ApkChannelPackage](https://github.com/ltlovezh/ApkChannelPackage)的方案 * 正式打包命令:请使用./gradlew channelPubRelease打包渠道包 ### 混淆配置 * 配置文件: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/init_submodules.sh` ### submodule管理方式(只拉取master) * 提交代码,需要cd到submodule文件夹去做修改 ### TODO * GSON 序列化用统一的一个, GsonUtil fromJson * CleanApkAdapter 转化字符串size工具函数 比如SpeedUtils * getString 解决 字符串hardcode问题 * equals 写法,常量.equals(xxx val) * Adapter 里面clicklistener 用接口传参将点击操作委托给controller * Adapter ViewHolder的功能,部分重写到ViewHolder类本身 * activity 统一入口未完成(外部入口相关)