android架构综合实操
文章平均质量分 94
这是针对一个非常复杂的Android电商项目的学习笔记,每篇将近有一万字左右,总栏超过80万字,耗时一年多,对于想学习Android架构思想的小伙伴我认为还是挺有学习意义的,本身我也是Android开发一枚,分享给有需要的小伙伴~~
webor2006
码农一个,记录个人成长的点滴~~
展开
-
前后端接口设计与配置中心系统<二十九>-------HiAbility SDK开发4【支付能力集成】
前后端接口设计与配置中心系统-------HiAbility SDK开发4【支付能力集成】原创 2022-09-15 11:10:14 · 1495 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十九>-------HiAbility SDK开发3【 扫码能力集成、数据统计与埋点】
前后端接口设计与配置中心系统-------HiAbility SDK开发3【 扫码能力集成、数据统计与埋点】原创 2022-09-15 10:56:45 · 1307 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十九>-------HiAbility SDK开发2【 APP分享功能设计与实现】
前后端接口设计与配置中心系统-------HiAbility SDK开发2【 APP分享功能设计与实现】原创 2022-08-06 15:30:45 · 984 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十九>-------HiAbility SDK开发1【 基础推送能力集成、OEM厂商推送能力集成】
前后端接口设计与配置中心系统-------HiAbility SDK开发1【 基础推送能力集成、OEM厂商推送能力集成】原创 2022-08-05 21:37:43 · 777 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十八>-------【SDK+服务端+控台】配置中心架构实现4【 如何实现配置缓存与恢复功能?如何实现配置高效获取与监听功能?基于HiConfig实现模块功能的动态化】
前后端接口设计与配置中心系统-------【SDK+服务端+控台】配置中心架构实现4【 客户端SDK-如何实现配置缓存与恢复功能?客户端SDK-如何实现配置的高效获取与监听功能?基于HiConfig实现模块功能的动态化】...原创 2022-07-30 20:48:52 · 462 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十八>-------【SDK+服务端+控台】配置中心架构实现3【 前端-导航模块扩展与路由通知功能实现、前端-如何实现发布回滚的功能】
前后端接口设计与配置中心系统-------【SDK+服务端+控台】配置中心架构实现3【 前端-导航模块扩展与路由通知功能实现、前端-如何实现发布回滚的功能、客户端SDK-HiConfig工程搭建与接口设计、客户端SDK-配置同步与更新功能实现】...原创 2022-07-29 23:00:21 · 397 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十八>-------【SDK+服务端+控台】配置中心架构实现2【 后端-如何实现高速缓存与探针功能、前端-配置列表设计与实现、前端-搜索与过滤功能实现、前端-添加配置】
前后端接口设计与配置中心系统-------【SDK+服务端+控台】配置中心架构实现2【 后端-如何实现高速缓存与探针功能、前端-配置列表设计与实现、前端-搜索与过滤功能实现、前端-添加配置】原创 2022-07-16 10:56:22 · 442 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十八>-------【SDK+服务端+控台】配置中心架构实现1【配置中心架构及实现原理解析&数据建模、后端-查询&更新配置接口设计与开发、 后端配置持久化存储功能设计】
对于配置中心的系统接口通常是要在一个单独的项目中去弄,但是呢咱们学习就直接跟之前的接口写在一个项目了,先定义API接口}}其中pageIndex和pageSize的默认值都为1,因为真实使用时只需要查最新的一条配置既可。其中定义一个新的code码然后对于Model这里增加一个方法/***这个是为了方便之后的使用,弄了一个各字段的映射*//***配置ID*//***命名空间*//***版本号*//**......原创 2022-07-16 10:49:41 · 559 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十七>-------前端-管理后台设计实现3【用户管理功能模块设计与实现、商品类别管理功能模块开发、前端项目打包与部署】
对于前端项目的打包部署,要记住,如果是部署到静态服务器上,则需要配置homepage,而如果要部署到node服务器时,则不需要配置,这点需要谨记!!!关注个人公众号,获得实时推送httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。...原创 2022-07-16 10:44:49 · 330 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十七>-------前端-管理后台设计实现2【导航架构模块设计与实现、基于react-router-dom实现路由模块、网络模块封装与service层实现】
在上一次博文阅读密码验证 - 博客园搭建了前端管理后台的基本框架,接着往下继续开撸,接下来则来搭建一下左侧菜单模块了。import React from 'react';import './DrawerMenu.less';import {Layout, Menu} from 'antd';const {Sider} = Layout;const {SubMenu} = Menu;const MENUS = { home: {原创 2022-06-29 21:49:20 · 1102 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十七>-------前端-管理后台设计实现1【基于create-react-app搭建web工程、整合antd与less并搭建具有Ant Design风格的页面
在上一次前后端接口设计与配置中心系统<二十六>---后端-DAU超千万的移动端接口设计实现4【城市服务模块功能实现、项目打包并部署到Tomcat服务器、基于Tomcat + Nginx搭建负载均衡的服务器】咱们已经搭建好了后端的接口了,接下来则来学习一下前端的知识,先来看一下这次的学习目标:也就是会通过前端的知识来搭建一个管理后台,然后再去调用我们之前已经实现的后端接口,达到前后端的互通,整体学习还是比较复杂的,主要是对于前端知识不太了解,需慢慢学慢慢消化。其中Less是啥呢,在咱们的项目中是需要用到的,度原创 2022-06-29 21:40:09 · 1044 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十六>---后端-DAU超千万的移动端接口设计实现4【城市服务模块功能实现、项目打包并部署到Tomcat服务器、基于Tomcat + Nginx搭建负载均衡的服务器】
继续博文阅读密码验证 - 博客园入下编写其它接口,在我们的APP中下订单时有选择城市地址的功能,这个也基本上是一个非常常见的功能,所以接下来则来实现一下城市服务接口。这里先创建mysql数据表,具体sql如下:CREATE TABLE `t_district` ( `id` int(11) NOT NULL DEFAULT '0' COMMENT '主键自增', `pid` int(11) DEFAULT NULL COMMENT '父类id'原创 2022-06-10 00:28:16 · 239 阅读 · 1 评论 -
前后端接口设计与配置中心系统<二十六>-------后端-DAU超千万的移动端接口设计实现3【用户列表API开发与分页功能实现、用户管理API的设计与实现、商品类别模块建模与功能开发、商品类别管理】
前后端接口设计与配置中心系统-------后端-DAU超千万的移动端接口设计实现3【用户列表API开发与分页功能实现、用户管理API的设计与实现、商品类别模块建模与功能开发、商品类别管理API开发】原创 2024-06-04 23:24:15 · 171 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十六>-------后端-DAU超千万的移动端接口设计实现2【整合与优化Swagger2文档Api、登录功能实现与Response设计、基于Redis实现高速的用户信息
整合与优化Swagger2文档Api:在上一次前后端接口设计与配置中心系统<二十六>-------后端-DAU超千万的移动端接口设计实现1【SpringBoot2 + MyBatis + MySQL 搭建后端开发框架、基于PDMan工具实现数据库中利用SpringBoot来实现了第一个登录接口,而接口写好了要提供给其它人调用肯定少不了API文档的对吧,所以这里打算使用Swagger2来整个API文档,看如何整合。1、添加Swagger2的依赖:这里上这个https://mvnrepository原创 2022-05-06 17:53:07 · 1174 阅读 · 0 评论 -
前后端接口设计与配置中心系统<二十六>-------后端-DAU超千万的移动端接口设计实现1【SpringBoot2 + MyBatis + MySQL 搭建后端开发框架、基于PDMan工具实现数据库
目标:继续接着上一次稳定性及性能调优<二十五>-------开发技能拓展3【架构师必须要掌握的权限治理】的架构往下学习,经过前面将近一年的学习,终于来到了Java后端的知识点的学习了,期待已久,还是很兴奋的,接下来好好畅游一下后端的知识海洋。先来看一下这次的目标大纲:对我来说都是全新的知识点,虽说当年做过1年的J2EE的开发,当时是流行ssh框架,如今的后端开发已经发生天翻地覆的变化了,抱着一颗热情的心好好来享受后台开发之旅。移动端架构师的后端能力:移动端进行后端开发需要具备的技术栈原创 2022-05-06 17:17:00 · 1403 阅读 · 0 评论 -
稳定性及性能调优<二十五>-------开发技能拓展3【架构师必须要掌握的权限治理】
Android权限治理:接着往下稳定性及性能调优<二十五>-------开发技能拓展2【Android Q暗黑模式适配、新一代组件化动态化方案App Bundle】继续学习,这次主要是学习跟App权限申请相关的知识。权限治理跟权限申请是两码事,自从2019年来,公信部APP专项治理工作组根据网友的举报情况,对于各类收集使用个人信息问题进行了归纳梳理,并且制定了完善的一系列技术规范和标准文本,从此开启了打击APP维规维法搜集使用个人信息常见工作,如果咱们因为权限申请随意搜集用户信息,随意使用用户信息被投.原创 2022-01-11 17:56:01 · 120 阅读 · 0 评论 -
稳定性及性能调优<二十五>-------开发技能拓展2【Android Q暗黑模式适配、新一代组件化动态化方案App Bundle】
Android Q暗黑模式适配:继续接着稳定性及性能调优<二十五>-------开发技能拓展1【AndroidX适配与升级指南、折叠屏适配】往下学习,接下来先来学习一个Android Q 10.0暗黑模式的适配。为什么要适配暗黑模式?先来看一下如何打开暗黑模式,在Android10中的设置这块有提供相关的设置:看打开之后,就变成了:但是呢,对于咱们的app没有做暗黑模式的适配,还是白的,很明显在晚上使用会很刺眼,下面来大概列举一下要适配暗黑模式的原因:1、首先是在黑暗光线的情原创 2021-12-16 16:51:22 · 2560 阅读 · 0 评论 -
稳定性及性能调优<二十五>-------开发技能拓展1【AndroidX适配与升级指南、折叠屏适配】
目标:继续接着上一次稳定性及性能调优<二十四>-------性能优化4【内存泄漏排查定位、不合理大图检测插件】的架构学习往下进行,这次则学习一些技能拓展的东东,先来看一下大纲:基本上都是加分项。AndroidX适配与升级指南:为什么要升级AndroidX?面试概括:JetPack是众多优秀组件的集合。是谷歌推出的一套引领Android开发者逐渐统一开发规范的架构,而它都属于androidx包中,要想用它们这些必须升级到AndroidX。 基于生命周期感知的能力,可以减少NPE崩原创 2021-12-16 16:44:43 · 290 阅读 · 0 评论 -
稳定性及性能调优<二十四>-------性能优化4【内存泄漏排查定位、不合理大图检测插件】
继续接着稳定性及性能调优<二十四>-------性能优化3【页面加载耗时优化实战、页面滑动流畅度FPS优化实战】往下学习。内存泄漏排查手段:做内存优化之前,需要了解当前应用的内存使用现状,通过现状去分析哪些数据类型有问题,各种类型的分布情况如何,以及在发现问题后如何发现是哪些具体对象导致的,这就需要相关工具来帮助我们,经典工具如下两种:Memeory Profiler(tools-profiler):这里以咱们app的运行内存情况来演示一下该工具的使用。1、profile '原创 2021-12-13 15:21:25 · 1982 阅读 · 0 评论 -
稳定性及性能调优<二十四>-------性能优化3【页面加载耗时优化实战、页面滑动流畅度FPS优化实战】
继续接着稳定性及性能调优<二十四>-------性能优化2【从0到1设计实现异步并发启动框架TaskFlow加速Application的启动】性能优化学习。页面加载耗时优化实战:这里主要是想办法来检测代码中的哪些方法耗时比较高, 可能对于页面速度的提升通常会说是用merge、viewstub、include标签来减少布局的层级对吧,其实页面加载慢大部分都是方法耗时较高导致的, 所以说要解决页面加载耗时根本就是要找到那些耗时比较高的方法才行,当找到了该方法耗时高之后再来思考是因为布局层次再原创 2021-12-13 15:13:20 · 1856 阅读 · 0 评论 -
稳定性及性能调优<二十四>-------性能优化2【从0到1设计实现异步并发启动框架TaskFlow加速Application的启动】
接着上一次稳定性及性能调优<二十四>-------性能优化1【启动耗时统计&启动白屏优化】的学习继续。从0到1设计实现异步并发启动框架TaskFlow:前言:在应用启动的时候,我们通常会有很多工作需要做,为了提高启动速度,我们会尽可能让这些工作并发进行。但这些工作之间可能存在前后依赖的关系,所以我们又需要想办法保证它们执行顺序的正确性。比如下面这样的一个复杂任务依赖的场景:可以看到任务有三大类型,其中异步任务Task6又依赖于Task3和Task5,而对于同步任务Ta原创 2021-12-13 15:06:03 · 2191 阅读 · 0 评论 -
稳定性及性能调优<二十四>-------性能优化1【启动耗时统计&启动白屏优化】
目标:继续接着稳定性及性能调优<二十三>-------稳定性优化2【Native Crash监控与堆栈还原、实战:拓展HiDebugTool一键查看本地日志】往下学习,先来看一下此次的学习大纲:性能优化的重要性及方向【纯理论】:性能优化的重要性及意义:因为其决定了应用程序的开发质量:可用性、流畅性、稳定性等,是提高用户留存率,转化率的关键。性能优化原则:权衡利弊:在能够保证产品稳定、按时完成需求的前提下去做优化。 使用低配置的设备:同样的程序,在低端配置的设备中,相同的问题会暴原创 2021-12-02 15:56:21 · 133 阅读 · 0 评论 -
稳定性及性能调优<二十三>-------稳定性优化2【Native Crash监控与堆栈还原、实战:拓展HiDebugTool一键查看本地日志】
Native Crash监控与堆栈还原:现有方案:从图中所列的方案中,很明显就是用Google-breakpad最好,google的嘛,先来瞅一下它:之后咱们会来集成它的。Native崩溃的捕获流程:客户端:捕获到崩溃时候,将收集到尽可能多的有用信息写入日志文件,然后选择合适的时机上传到服务器。 服务端:读取客户端上报的日志文件,寻找适合的符号文件,生成可读的C/C++调用栈。实战接入google-breakpad:编译本地的minidump_stackwalk可执行原创 2021-10-12 17:36:45 · 184 阅读 · 0 评论 -
稳定性及性能调优<二十三>-------稳定性优化1【建立有效的Code Review机制、Java Crash监控和Java混淆代码还原】
目标:接着博文阅读密码验证 - 博客园继续往下学习,先来看一下此次的一个大纲:架构师如何提升APP的稳定性:重在预防、贵在治理。长效保持需要科学流程。开发阶段 测试环节 发布阶段 运维阶段 降级容灾开发阶段:整个开发阶段比如重要有主要有:技术评审、CodeReview机制、主动容错处理。技术评审:技术评审的目的是以技术的角度评估本次项目功能的实现方式,业务架构,可能遇到的重难点,可以采取的降级策略进行论证。 重要逻辑统一两端的实现方式。 以咱们学习的主项目的首.原创 2021-10-12 17:29:45 · 157 阅读 · 0 评论 -
混合架构设计与开发<二十二>-------RN混合架构原理剖析与应用3【实战:RN引擎预加载管理框架【秒开页面】&Native UI组件开发、Native UI组件的事件通信指南、RN性能调优】
继续接着上一次-------RN混合架构原理剖析与应用2【RN与Native通信原理剖析、实现RN与Native通信架构HiRNBridge、RN历史浏览模块集成】" data-link-title="混合架构设计与开发<二十二>-------RN混合架构原理剖析与应用2【RN与Native通信原理剖析、实现RN与Native通信架构HiRNBridge、RN历史浏览模块集成】">混合架构设计与开发<二十二>-------RN混合架构原理剖析与应用2【RN与Native通信原理原创 2021-10-12 17:21:35 · 326 阅读 · 0 评论 -
混合架构设计与开发<二十二>-------RN混合架构原理剖析与应用2【RN与Native通信原理剖析、实现RN与Native通信架构HiRNBridge、RN历史浏览模块集成】
RN与Native通信原理剖析:在做RN与Native开发时,难免会涉及到它们之间的通信,比如:初始化RN时可以向JS传递数据、JS可以向Native相册来选择图片、JS又可以调用Native模块进行复杂的计算、Native又可以将一些传感器,GPS跟硬件打交道的数据传递给JS。常见通信场景:对于JS和Native之间的通信主要是分以下场景:Native发送数据给JS; JS发送数据给Native; JS发送数据给Native,然后Native回传数据给JS; R原创 2021-10-12 17:01:05 · 260 阅读 · 0 评论 -
混合架构设计与开发<二十二>-------RN混合架构原理剖析与应用1【框架原理剖析、Native中集成RN、RN混合架构开发实战技巧】
大纲:RN框架原理剖析:认识RN源代码目录结构:这里上RN的官网GitHub - facebook/react-native at v0.63.2:Libraries:React:主要是React相关的一些代码,其中它主要是采用OC来实现的:ReactAndroid:这里主要是React Android对应的代码:ReactCommon:主要是React对于C++层的实现,实现了主要对于布局引擎,js core相关的封装。RN框架的整体架构回.原创 2021-09-22 17:43:35 · 176 阅读 · 0 评论 -
混合架构设计与开发<二十一>-------走进RN开发2【浏览历史模块实现、走进RN的社区和它常见的组件】
继续接着博文阅读密码验证 - 博客园往下学习RN。实战:浏览历史模块实现:这里打算正式实现浏览历史模块。接口系分:API定义:先来查看一下浏览历史模块的接口定义:目前的登录停牌是暂时写死,待之后混编时是通过Native侧动态传过来的。新建JS:话不多说,直接开始开撸,新建一个历史浏览模块的js:搭建测试骨架:这里简单定义几个View用来进行接口测试:import React from "react";import { Text } from "re原创 2021-09-22 17:29:00 · 164 阅读 · 0 评论 -
混合架构设计与开发<二十一>-------走进RN开发1【架构师该如何高效的学习RN、RN自定义组件封装、轻松掌握RN调试技巧、基于fetch+promise库封装RN网络层框架】
目标:在上一次博文阅读密码验证 - 博客园已经从架构师的角度学习了跨平台框架Flutter了,接下来则学习另一大非常热门的框架-React Native,关于这块技能说实话我是纯小白,所以为了能赶上架构师这块的学习进度也在小步快跑的恶补它的基础:虽说目前的基础不牢,也挡不住继续学习android架构的步伐,目前架构师的角度以实战为主,虽说目前关于RN很多都不太懂,但是没关系,提前对RN有一个感性的认识对于后续再来弥补不足也是一个比较高效的学习方式,只要能跟上课程的步伐就成,跟不上照着做一次总o.原创 2021-09-17 17:31:08 · 162 阅读 · 0 评论 -
混合架构设计与开发<二十>-------Flutter实战应用与性能优化3【Flutter性能调优、Flutter引擎加载机制与热更新方案探索、Flutter热更新方案实现与应用】
Flutter性能调优:继续接着博文阅读密码验证 - 博客园往下学习Flutter混合开发相关的知识。大纲:内存优化:要进行内存优化首先我们需要了解下内存的检测手段,这样我们才好进行内存优化前后的效果对比。Flutter性能检测工具Flutter Performance:在IDE的Flutter plugin中提供了Flutter Performance工具,它是一个可用来检测Flutter滑动帧率和内存的工具,我们可以从IDE的侧边栏中打开这个工具,也可以借助Dart DevT原创 2021-09-15 17:38:31 · 147 阅读 · 0 评论 -
混合架构设计与开发<二十>-------Flutter实战应用与性能优化2【Flutter Native组件的通信功原理与实现、playground模块设计】
Flutter Native组件的通信原理与实现:在上一次https://www.cnblogs.com/webor2006/p/14575815.html学习了如何在Flutter中来使用Native UI,但是!!!还缺少通信交互,所以这里则来解决它们之间通信的问题。通信原理:原理图:其中对于在Flutter中来显示Native View是通过"flutter/platform_views"这个MethodChannel来实现的,而对于Flutter中想要调用Native View中原创 2021-09-15 17:28:30 · 125 阅读 · 0 评论 -
混合架构设计与开发<二十>-------Flutter实战应用与性能优化1【Flutter侧鉴权功能实现与登录态同步、收藏模块、复杂场景下Flutter嵌入Native组件实战】
目标:继续接着混合架构设计与开发<十九>-------Flutter混合架构原理剖析与应用2【混合通信架构实现、Flutter推荐模块集成、Flutter实现主流的首页架构】往下学习,先来看一下整体的学习目标:实战:Flutter侧鉴权功能实现与登录态同步概述:对于咱们项目的推荐和收藏模块是采用Flutter来实现的,而收藏模块是需要用户登录之后收藏的商品才能正确显示出来的, 可是登录功能是native来实现的,那么对于Flutter需要感知登录状态的同步就成为很有必要了;另原创 2021-09-09 17:43:56 · 178 阅读 · 0 评论 -
混合架构设计与开发<十九>-------Flutter混合架构原理剖析与应用2【混合通信架构实现、Flutter推荐模块集成、Flutter实现主流的首页架构】
实战:基于MethodChannel实现Flutter与Native通信架构HiFlutterBridge在上一次混合架构设计与开发<十九>-------Flutter混合架构原理剖析与应用1【框架和原理剖析、复杂场景下的Flutter混合架构设计、Flutter与Native通信原理剖析】已经了解了Flutter与Native的通信原理了, 接下来则基于MethodChannel来打造自己的一款通信框架--HiFlutterBridge。IHiBridge:定义通信的抽象行为这原创 2021-09-09 17:21:17 · 141 阅读 · 0 评论 -
混合架构设计与开发<十九>-------Flutter混合架构原理剖析与应用1【框架和原理剖析、复杂场景下的Flutter混合架构设计、Flutter与Native通信原理剖析】
目标:在上一次混合架构设计与开发<十九>-------走进Flutter开发2【网络层框架封闭、单元测试、推荐模块实现】 密码保护已经对于Flutter有了一个整体的认识,这次则来剖析一下它的原理,以及将咱们上次实现的Flutter推荐模块集成到主工程当中来,实现Flutter和Android的一个混编,这块知识还是很值得期待的,先来纵览一下此次学习的目标:Flutter框架和原理剖析:Flutter框架的整体结构:Flutter是Google推出并开源的跨平台开发框架,主打原创 2021-09-09 16:52:47 · 141 阅读 · 0 评论 -
混合架构设计与开发<十九>-------走进Flutter开发2【网络层框架封闭、单元测试、推荐模块实现】
实战:基于http库封装Flutter网络层框架:为什么要封装:其实吧这个问题有点白痴,不过还是理解明确一下,设计一个网络框架的原因主要是如下几点:1、分层设计和解耦的需要;2、提高开发效率;3、易维护和可扩展;具体实现:添加http依赖:关于它的使用在之前https://www.cnblogs.com/webor2006/p/13028104.html基础学习时也用到过了,不过这里还是简单了解一下:它是dart官方所开发的,所以先来添加它的依赖:然后点击“P原创 2021-09-09 16:12:17 · 137 阅读 · 0 评论 -
混合架构设计与开发<十九>-------走进Flutter开发1 【推荐模块Item布局实现】
目标:Android架构实操终于学到期待已久的混合架构开发了,其混合开发主要是指Flutter和RN了,先从Flutter开始,关于它的基础在之前已经打得很扎实了:所以对于这块的学习应该是自信满满的,当然啦,因为还没真正用它进行过商业应用的开发,所以还是得大量练习才行,另外对于它是如何跟Android进行混编,这个是完全陌生的技能,正好趁此机会好好的攻克它,先来看一下此次的学习目标:架构师如何高效的学习Flutter:大纲:做为一个架构师的目标,那如何高效的学习Flutter呢?原创 2021-09-09 15:51:40 · 120 阅读 · 0 评论 -
主流架构演进与项目架构改造<十八>-------构建与打包能力4【底层还原apk打包流程、apk的攻与防、jenkins整合apk加固和渠道打包】
APK打包与安全:继续接着主流架构演进与项目架构改造<十八>-------构建与打包能力3【jenkins集成】 往下学习,这里主要是学习APK打包流程及安全相关的东东,对于面试啥的意义还是蛮大的,好好学习,天天向上。aapt2命令行实现apk打包:apk文件结构:在阐述apk是如何打包之前,先得了解一下它的文件结构,一个apk解压缩之后的大体样子如下:下面对里面的关键文件进行一个整体介绍:classes.dex:Dex是DalvikVMexecutes的缩写,既A.原创 2021-09-07 17:45:29 · 120 阅读 · 0 评论 -
主流架构演进与项目架构改造<十八>-------构建与打包能力3【jenkins集成】
实战:基于Jenkins实现持续集成与自动打包传统包构建方式:传统包构建步骤: 1、git pull origin master 拉取分支最新代码。 2、 ./gradlew assembleDebug构建debug包。 3、build/output/apk/app-debug.apk部署并运行或发送给测试同学。 传统包构建的问题 1、显而易见这些是机械、重复且浪费时间的工作。 2、不利于多人协作。Jenkins实现持续集成与自动打包:一切重复的工作皆可自动化,大厂里面都有自动化包原创 2021-09-07 16:54:15 · 116 阅读 · 0 评论 -
主流架构演进与项目架构改造<十八>-------构建与打包能力2【Gralde Plugin】
实战:字节码插桩技术:概述:在上一次主流架构演进与项目架构改造<十八>-------构建与打包能力1了解了Transform、字节码技术,接下来则实战对上面的说明进行巩固一下,其目标为:向工程内所有Activity的onCreate函数内插入Toast代码块。 工程内源码参与编译的.class,以jar(aar)参与编译.class,都需要修改。下面先来熟悉一下要实现上面的目标的一个大致实现思路:实践:新建buildSrc:点击finish进行创.原创 2021-09-01 15:51:35 · 106 阅读 · 0 评论 -
主流架构演进与项目架构改造<十八>-------构建与打包能力1
目标:距离上一次主流架构演进与项目架构改造<十七>-------IOC架构设计4的架构实操的学习又一个多月了,时间都转到了线性代数的学习上了,不过今年的学习重点还是不会变的----完整地学完它,费话不多说,先来看这一次的学习目标:这块涉及到的知识点还是蛮多的,也是不是那么简单的,耐心搞定它。如何高效的构建渠道包?什么是多渠道?渠道包就是要在安装包APK中添加渠道信息,也就是channel,对应不同的渠道,例如:小米市场、360市场、应用宝市场等,需要为每个apk包设定一个原创 2021-09-01 15:38:27 · 146 阅读 · 0 评论