Android 打包所有依赖

问题缘由

有些非常老旧的项目构建方式不支持 maven,也就是没办法自动解决依赖 ,这个时候只能把所有相关的 Jaraar 都下载给对方。

问题解决

简单描述

  • 先把对方需要集成的 AAR 发布到 Mavan仓库上
  • 创建一个空Java 项目,只是依赖这个包
  • 增加 WAR打包插件,运行 WAR 作业,打包完成

继续阅读“Android 打包所有依赖”

接下来的工作

对于很多东西,开发时间不能确定,开发的时候又头疼的根本原因是对本质不了解。如果我对很多东西的本质好像对我对 Git 那么了解的话,那就当我操作的时候一点都不害怕,估计还有点小激动。

接下来的工作应该要对 Android 整个底层和 AndroidBuildTools 整个整个底层都走一遍

Git SubTree

Git Subtree

Subtree vs Submodule

优点

subtree 更简洁

submodule 会在项目上创建一个.gitsubmodule 文件用于管理子项目。同时在 .git 上创建 .submodule 文件。而 subtree只是在提交树上增加一个 commit,其他都没有。

subtree 操作更简单

submodule 使用上更繁琐,需要每个人都需要学会使用 submodule 命令初始化项目。
subtree 因为是直接把项目加入到当前的项目代码提交中,所以只要你 checkout 主项目就能有所有的代码。只有需要往子项目共享代码的才需要 subtree 怎么使用,不关心的人不需要知道 subtree 怎么使用

缺点

subtree 功能上没有 submodule 上丰富。对于不关心 sub 项目的人很友好,但是对于使用者来说,每次都需要加上 subtree 不是很友好,不过可以通过设置 alias来避免这个问题,不过每次都要敲 --prefix 这个也是很蛋疼。如果是 submodule 的话,我只需要进入子项目的目录,就完全好像使用 git 原本的指令即可

共同问题
都是只能把整个项目加入到当前的项目上,并不能只是加入某个目录

继续阅读“Git SubTree”

记一次 Debug android 编译慢的过程

公司因为扩展业务,新建了一个 android 项目,但是这个安卓项目明明比我们的主项目代码量少那么多,但是编译时间却比我们主项目时间长非常多。让我每次编译的时候都思考人生。

项目基本情况

我们主项目是一个 80M 大小的App,dex 包都有 30M,更改一行代码的时间实际上只需要 30s 不到的时间,但是新项目 apk 大小都没有10M编译时间却要 一分多钟,有时候还需要 3分钟

调试方法

gradle 4.3 版本之后,gradle 提供了一个新的方法去扫描编译过程,就是
buildScan 功能,简单一点讲就是这个东西会把task运行过程很多东西记录下来,图形化展示这些数据,让你更好的发现问题所在。

继续阅读“记一次 Debug android 编译慢的过程”

基于 GooglePlayService 的短信验证码自动填写

问题描述

如何才能不申请读取短信的权限,却又能够拿到自己发送的短信验证吗?

解决方案

在Google Play Service V2 中,谷歌提供了这样的方法。具体流程如下

  1. 获取用户电话号码
  2. 客户端启动SMS检索器(SmsRetrieverClient)
  3. 客户端将电话号码发送到您的服务器,请求下发验证码
  4. 服务端生成特定格式的短信发送给用户
  5. 手机收到短信后 GooglePlayService 使用 BroadcaseReceiver 发送给你应用
  6. 你从短信中提取 code,填写到验证码上

继续阅读“基于 GooglePlayService 的短信验证码自动填写”

正则表达式教程

推荐个项目,正则表达式教程 learn-regex
个人觉得写得很不错,以下是目录,全文在这里