摘要:背景 项目中使用ARouter进行路由,由于不同上层业务模块都可能会使用到同一目标的路由地址,因此,将所有业务模块的路由地址以一种类似静态常量的方式设置在Base模块中。这样,在实际目前上加上对应此地址的注解,就可以将其对应加入到路由中。使用方通过ARouter对应的地址方式去路由,即可访问到对应的 阅读全文
posted @ 2019-05-24 21:22 HappyCorn 阅读 (287) 评论 (0) 编辑
摘要:背景 项目组多人协作进行项目开发时,经常遇到如下情况:如Git Commit信息混乱,又如提交者信息用了自己非公司的私人邮箱等等。因此,有必要在Git操作过程中的适当时间点上,进行必要的如统一规范、安全检测等常规性的例行检测。 面对此类需求,Git为我们提供了Git Hooks机制。在每个项目根目录 阅读全文
posted @ 2019-05-07 20:45 HappyCorn 阅读 (250) 评论 (0) 编辑
摘要:一、背景: 项目中有一些特殊的需求,如个别渠道集成腾讯bugly,个别渠道集成易观统计,不同的渠道集成不同的推送策略(如Oppo渠道优先Opush推送),不同的渠道拥有不同的第三方登录集成等等。这些需求本身,往往都与外部集成进来的功能有关,且需求上,功能与渠道本身,有一定的映射关系,对于此类需求,具 阅读全文
posted @ 2019-04-25 21:56 HappyCorn 阅读 (228) 评论 (0) 编辑
摘要:Google Play应用市场提交应用审核,出现因WebViewClient.onReceivedSslError问题导致拒绝通过。 Google Paly给出的详情地址:support.google.com/faqs/answer… 处理起来其实也相对简单,主要是针对用到WebViewClient 阅读全文
posted @ 2019-04-13 12:43 HappyCorn 阅读 (279) 评论 (0) 编辑
摘要:项目中Gradle版本升级到4.4后,项目构建时,每次出现红色的警告信息: WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation'. It will be removed at 阅读全文
posted @ 2019-04-13 09:49 HappyCorn 阅读 (1043) 评论 (0) 编辑
摘要:随着项目的不断迭代,复杂的业务模块及项目自身的基础技术组件迅速扩张,以往基于单个模块的项目往往显得过于臃肿。代码目录结构,包名混乱,代码模块职责不清晰,耦合度高,不便维护。基础公共组件没有抽取并剥离干净,新人上手较难,项目整体编译慢,等等。于是,近几年来,基于Gradle构建的模块化方案得到迅速应用 阅读全文
posted @ 2019-02-23 18:30 HappyCorn 阅读 (146) 评论 (0) 编辑
摘要:实际项目中,都会应用Android Gradle Plugin,根据实际中的项目模块的职责,可以具体应用如下四种插件类型。 1,apply plugin: 'com.android.application' 实际对应的原型是:com.android.build.gradle.AppExtension 阅读全文
posted @ 2019-02-23 15:54 HappyCorn 阅读 (2616) 评论 (0) 编辑
摘要:无论是前端开发还是客户端,实际开发过程中,抓包都经常被用到。工欲善其事必先利其器,一款好用的抓包工具也是必须的。 说到抓包,Windows系统上不少人都用过Fiddler,Mac或Linux上用Charles,本文主要推荐一款支持多系统的抓包工具:whistle。 whistle,具有跨平台(Win 阅读全文
posted @ 2019-02-14 19:51 HappyCorn 阅读 (237) 评论 (0) 编辑
摘要:Gradle是基于Groovy的DSL基础上的构建工具,Gradle中的闭包,其原型上实际上即Groovy中闭包。而在表现形式上,其实,Gradle更多的是以约定和基于约定基础上的配置去展现。但本质上,大多数配置,实际上都对应着闭包以及闭包的具体使用。 例如,实际Android项目中,我们经常看到类 阅读全文
posted @ 2019-01-25 22:09 HappyCorn 阅读 (153) 评论 (0) 编辑
摘要:背景: Android Gradle plugin 3.0开始(对应Gradle版本 4.1及以上),原有的依赖配置类型compile已经被废弃,开始使用implementation、api和annotationProcessor类型分别替代。对应的,这三种替代配置类型针对具体的使用场景,具有不同的 阅读全文
posted @ 2019-01-11 18:32 HappyCorn 阅读 (736) 评论 (0) 编辑
摘要:同名掘金博文: 运行环境: AS 版 本:Android Studio 3.2.1 手机型号:vivo Y85A Android版本:8.1.0 换了一个新测试机,点击AS Run按钮,运行项目,提示安装失败,错误信息如下: 01/03 18:52:19: Launching app $ adb p 阅读全文
posted @ 2019-01-03 21:30 HappyCorn 阅读 (279) 评论 (0) 编辑
摘要:项目targetSdkVersion升级到26后,对应的的是Android O版本,即Android 8.0系统。经测试发现针对8.0及以上安卓版本手机,AndroidMainfest.xml中静态注册的广播接收器失效,当App中对应intent filter类型广播发出时,广播接收器中的onRec 阅读全文
posted @ 2018-12-20 19:58 HappyCorn 阅读 (502) 评论 (0) 编辑
摘要:无论是使用Android Studio中,VCS >> Git >> Clone, 还是直接Git Clone命令,clone GitHub项目时,出现错误提示:LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:4 阅读全文
posted @ 2018-12-19 21:28 HappyCorn 阅读 (767) 评论 (0) 编辑
摘要:基于AS开发项目,对于特定的功能模块,往往抽取成独立的库进行管理,然后上传到Marven库中,通过Gradle依赖的方式进行引用。 其优势体现在: 1,独立的Git项目库,模块功能,及职责界定清晰; 2,外部使用方一般无须关注此Git项目库的具体实现和逻辑细节,只需按照对应的对外暴露的方式调用即可; 阅读全文
posted @ 2018-12-17 20:38 HappyCorn 阅读 (96) 评论 (0) 编辑
摘要:今天,在Q群中有网友(@广州-包晴天)发出了网上的一个相对经典的问题,问题具体见下图。 本来是无意写此文的,但群里多个网友热情不好推却,于是,撰此文予以分析。 从这个问题的陈述中,我们发现,提问者明显对Android中的几个基本概念在理解上是存在误区的(或直接称之为理解错误)。且这种误区,我发现是较 阅读全文
posted @ 2017-08-24 19:22 HappyCorn 阅读 (789) 评论 (0) 编辑