- Material Design
- MVP
- 组件
化 - Kotlin
- RxJava2
- Retrofit
- Dagger2
- Realm
- Glide
- Arouter
- Jsoup
- Gradle
配置 - 热
更新 混淆 、多 渠 道 包
[
(API
AcgClub
- app 宿主 app
- common 基 础库
- common-res 公用 资源
- component-acgcomic 漫画 组件
- src/main
- runalone 组件独立 运行时生效
- component-acgnews 资讯组件
- component-acgpicture 看 图组件
- component-acgschedule 番 剧组件
- router 路 由 配置 及相关服务实现
- third-party-libs 三 方 库存放
- base_component.gradle 组件依 赖配置
- base_component_compiler.gradle java注解 处理配置
- base_component_kapt.gradle kotlin注解 处理配置
- config.gradle 项目信 息 配置
-
组件
名 固定 前 缀为“component-” -
组件
内 build.gradle需进行 如下配置 :
//必备
apply from:"../base_component.gradle"
//使用 java
apply from:"../base_component_compiler.gradle"
//或 kotlin
apply from:"../base_component_kapt.gradle"
//如果用 到 数 据 库
apply plugin: 'realm-android'
-
组件
内 res文 件 将 以组件 真名 为前缀进行 约束(例 如:component-acgnews,一个布局文件名则需要以此打头:acgnews_layout.xml) -
组件
独立 运行时还需要 注意 提供 相 关的application,入口 activity,AndroidManifest.xml等
config.gradle
其中:
//在 该属性 中 填 写 需要 合 并到主 程 序 运行的 组件,没 有 填 写 的 组件将 独立 运行
merge = [
"acgnews",
"acgschedule"
//"acgcomic"
]
merge
- 项目
中 提示 缺 失 DaggerXXX时,通 过完成 编译将 有 Dagger2自 动生成 在 本地 的 local.properties按自己 所 需进行 一些三方库的key、签名的 配置 ,不 需要 的 可 以自行 去 掉
#阿 里 云 用 户反馈
fbAppKey=""
fbAppSecret=""
#友 盟
umengAppKey=""
#bugly
buglyAppId=""
#签名信 息
storeFile=
storePassword=
keyAlias=
keyPassword=
#友 盟 分 享 key
SINA_WEIBO_KEY=""
SINA_WEIBO_SECRET=""
QQ_ZONE_ID=""
QQ_ZONE_KEY=""
WEIXIN_ID=""
WEIXIN_KEY=""
- 为了确保bugly热更
新能 生 效 ,请每次 打出 正式 包 的 时候,确认app目 录下tinker-support.gradle文 件 中 的 tinkerId的 唯 一 性
RxJava
RxAndroid
Dagger2
RxPermissions
RxCache
Retrofit
Okhttp
Gson
Butterknife
Glide
LeakCanary
Realm
MVPArms
Jsoup
Jsoup-Annotations
Fragmentation
BlockCanary
ARouter
DialogUtil
DToast
BaseRecyclerViewAdapterHelper
HtmlTextView
MZBannerView
StatusBarUtil
LoadSir
Logger
AndroidUtilCode
VasDolly
如果认为项目
项目