ACG 聚合类 App Acgclub
source link: https://www.oschina.net/p/acgclub
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Acgclub首页、文档和下载 - ACG 聚合类 App - OSCHINA - 中文开源技术交流社区
宅社 AcgClub 是一款纯粹的 ACG 聚合类 App。作者出于爱好与学习的目的做出了这款 MD 风格的应用,旨意通过涵盖Android 端的一些热门技术框架来打造一个面向市场级别的产品。
通过本项目,你可以了解到以下技术:
- Material Design
- Kotlin
- RxJava2
- Retrofit
- Dagger2
- Realm
- Glide
- Arouter
- Jsoup
- Gradle 配置
- 混淆、多渠道包
- Android Studio 4.1.3
- Gradle 6.5
- kotlin 1.4.21
- compileVersion 28
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 的唯一性
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK