cce289253da97dbf554a916da77dd48c0a5ec7cd
光环助手Android客户端
sourcesets/debug/release
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配置
拉取代码步骤
- 拉取主项目代码:
git clone -b dev git@gitlab.ghzhushou.com:halo/assistant-android.git - 初始化公用类库:
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
Description
Languages
Kotlin
79.3%
Java
20.1%
Shell
0.3%
JavaScript
0.2%
Groovy
0.1%