自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android技术之家

主要分享移动互联网的相关产品和资讯,关注你将学习到更多,在互联网的当下你会赚更多的钱。

  • 博客(922)
  • 收藏
  • 关注

转载 深入研究Android内存优化(上)- 至少解决 APP 中 90 % 的内存异常问题

前言:每个意念都是一场祈祷。内存优化大纲一、概述内存作为计算机程序运行最重要的资源之一,需要运行过程中做到合理的资源分配与回收,不合理的内存占用轻则使得用户应用程序运行卡顿、ANR、黑屏,重则导致用户应用程序发生 OOM(out of memory)崩溃。如果需要在各种设备资源上保持流畅性和稳定性,内存优化是性能优化中最重要的一环。内存问题普遍是大问题,每一行代码都涉及到内存申请以及回收等过程,但...

2024-05-21 07:51:40

转载 我又发现了Android13的一个bug

问题回顾之前处理了一个SDCard格式化的问题,最后定位到是底层的原因,让底层同事排查去了,底层同事排查完,没发现什么问题,最近这个问题又转到我的手里了,于是我又深入看了一下流程梳理之前已经梳理过了SDCard格式化的代码流程,这里只贴一个简单的流程图在Settings -> Storage页面点击SDCard格式化,最终请求vold完成格式化。格式化完毕后,再直接访问UnixFileSys...

2024-05-20 07:50:27 1

转载 Android 车载应用开发指南 - CAN Bus 协议详解

一 概述1.1 背景汽车工业蓬勃发展,汽车的电子控制单元逐渐增多。各电控单元之间的信号交换导致汽车线束的级数增加,复杂粗大的线束与汽车有限的布线空间之间矛盾越来越突出,繁多的线束导致电气系统可靠性下降,同时增加了重量。CAN Bus 将汽车内部各电控单元之间连接成一个局域网络,实现了信息的共享,大大减少了汽车的线束,如下图所示:CAN Bus 可以满足子系统数据传输的需求,可以实现汽车内互联系统由...

2024-05-20 07:50:27 2

转载 大厂Android端可视化埋点的实现

客户端埋点是数据收集的最基本手段,对于一款APP来说,代码埋点(就是在业务代码中,在需要埋点的view的点击事件回调处做点击上报的处理,当此view被点击时,进行相应事件的上报)是最为常见的埋点方式,但由于业务迭代速度很快,手动埋点方案虽然灵活多变,但是极大的增加了客户端开发人员的工作量。开发完成业务功能需要花费很大的精力处理埋点事宜,而且随着迭代版本,新的需求增加,埋点的数量会越来...

2024-05-16 08:00:56 4

转载 记一个 Android 14 适配引发的Android 存储权限问题

出处:https://www.cnblogs.com/joy99/p/17809113.html一、bug 背景项目中有下面这样一段代码,在 Android T 版本运行正常,现在适配到 Android U 上之后,运行时 crash 了。。。。...values.put(MediaStore.Images.Media.DATA, file.absolutePath)values.put(Me...

2024-05-08 08:49:08 149

转载 [安全] 聊聊App中的加解密

作者:snwrking链接:https://juejin.cn/post/7360961068166332457I. 前言之所以写这文章, 主要是有两个原因1). 移动平台上的安全技术一直在变化. 这种变化就让一些网上的资料变得不再有用, 但少接触这块的人就不知道哪些没用, 为何没用, 以及要用什么新方法. 以Android为例, 先是Android 4.0 引入了KeyChain, Andro...

2024-04-29 08:30:04 27

转载 Android TextView的颜色和字体自适应

前言最近比较忙,没有时间去梳理一些硬核的东西,今天就来分享一些简单有意思的技巧。拿TextView来说,平时我们都会在特定的场景去设置它的字体颜色和字体大小。那么有没有一种办法能够一劳永逸不用每次都去设置,能让TextView自己去根据自身的控件属性去自适应颜色和大小呢?当然是有的,这里可以简单的分享一些思路。1. 字体大小自适应TextView可以根据让字体的大小随着宽高进行自适应。设置大小自适...

2024-04-28 08:18:14 24

转载 双进程交互实现App自动重启

背景你可能会好奇,有些手游(比如王者荣耀)是怎么实现资源更新后自动重启的?这个体验确实不错,因为不需要用户手动点击桌面图标重启App,在一些数据恢复备份的场景中,很实用。比如,从云端拉取SQLite数据库db文件或一些prefs配置文件后,会直接覆盖到本地,但进程不重新启动的话,是不会生效的。思路基本思路其实很简单,利用Android应用对多进程的天然支持,来实现双进程互拉。有的朋友一看见“双进程...

2024-04-25 07:57:01 21

转载 Android 15 可能最终修复了底部黑色导航栏问题

长期以来, Android 系统一直存在一个问题: 手势栏/药丸/三键导航下面有一个可笑的黑条. 我曾找过相关的截图, 但要么截图太旧, 要么截图不清晰. 因为我一直在使用各种方法来隐藏它.这就是手势栏, 它并不那么碍事. Android 系统也有三键导航功能, 如果你打开它, 黑条就会变得非常大.这是因为在早期的 Android 系统中, 屏幕上的导航按钮是用来取代实体按键的. 但老实说, ...

2024-04-25 07:57:01 46

转载 在 Android 设备上运行自己的 AI 聊天机器人

你是否厌倦了每次与 AI 助手互动时都不得不将个人数据交给大型客机公司?好消息是,你可能在你的Android 智能手机或平板电脑上直接运行强大的语言模型,这一切都始于llama.cpp。在这个教程中,我将指导你如何在 Android 设备上设置llama.cpp,让您能够亲身体验本地 AI 处理的自由和可定制性。不再依赖于远程服务器,也不必担心您的数据会被泄露。是时候重新掌控局面,释放现在机器学习...

2024-04-15 07:55:16 98

转载 Android 车载应用开发指南 - CarService 详解

一 概述CarService 是车载 Android 操作系统 Android Automotive OS(下文简介 AAOS)的核心服务之一,所有车载相关的应用都需要通过 CarService 来查询、控制整车的状态,不仅仅是车辆控制,实际上 CarService 几乎就是整个车载 Framework 最核心的组件。二 CarService 架构2.1 简介AAOS 并没有大刀阔斧的改变 And...

2024-04-11 08:01:38 225

转载 Android如果被放弃,我们何去何从?

由于鸿蒙的爆火,为了赶上时代先锋。到目前为止也研究过很长一段时间。作为一名Android的研发人员,免不了对其评头论足,指导文档如何写才算专业?页面如何绘制?页面如何跳转?有没有四大组件等等。而HarmonyOS我们只要去熟悉它的所有API特性,然后再去适配我们的业务。但最近在HarmonyOS社区发现,对于学习这个NEXT新版本,好多初学者都很难快速进入沉浸式学习当中,特此在这里分享一些自己的学...

2024-04-08 08:01:05 42

转载 Android Root环境下动态注入Java和Native代码的实践

背景在Android逆向开发中,我们通常会使用Frida工具在命令行中动态注入JavaScript代码到目标应用,编写JavaScript对Android新手来说可能会有些困难,假如能用Java代码Hook Java层方法,c/c++代码Hook native层函数指令,用起来可能会更顺手。 在Android正向开发中,我们往往需要在Release包上进行性能诊断或复杂问题的分析,然而,这并不是一...

2024-04-03 08:28:33 64

转载 Android 系统开发 - 进程管理之内存的回收

前言内存是系统中非常宝贵的资源,即便如今的移动设备上,内存已经达到4G甚至6G的级别,但对于内存的回收也依然重要,因为在Android系统上,同时运行的进程有可能会有几十甚至上百个之多。如何将系统内存合理的分配给每个进程,以及如何进行内存回收,便是操作系统需要处理的问题之一。本文会讲解Android系统中内存回收相关的知识。对于内存回收,主要可以分为两个层次:进程内的内存回收:通过释放进程中的资源...

2024-04-01 08:25:48 69

转载 Android 双屏异显自适应Dialog

一、前言Android 多屏互联的时代,必然会出现多屏连接的问题,通常意义上的多屏连接包括HDMI/USB、WifiDisplay,除此之外Android 还有OverlayDisplay和VirtualDisplay,其中VirtualDisplay相比不少人录屏的时候都会用到,在Android中他们都是Display,除了物理屏幕,你在OverlayDisplay和VirtualDisplay...

2024-03-29 08:26:06 125

转载 Android分屏功能原理(基于Android12L)

Android分屏功能原理(基于Android12L)分屏功能目的是为了提高用户的生产效率,提高多应用使用的便捷性;Android 很早版本就已经提供了分屏功能,不过随着版本的迭代,特别是Google开始关注Android大屏设备的用户使用体验,内部的实现逻辑也和以前有很大的差别值得注意的是原生Android分屏功能只允许在任务管理器中选择分屏应用,如果应用未打开过,就无法分屏Android13上...

2024-03-28 08:23:27 632

转载 某APPsign签名参数分析

分析该APP的包请求,在Fiddler中发现一个请求包:想把其中的签名弄清楚,然后用python去模拟协议。原始返回的数据是protobuf的格式,通过修改请求头Accept,可以让服务器返回json的数据格式。具体操作步骤为:直接将请求头中的Accept: application/x2-protostuff; charset=UTF-8,更改为:Accept: application/json;...

2024-03-25 07:58:58 51

转载 Android配置抓包证书的原理

作者:Onlyxiu 链接:https://bbs.kanxue.com/thread-280944.htm?style=1一、数字证书的常见格式数字证书有多种格式,其中一些常见的格式包括:X.509证书:X.509是最常见的数字证书标准,它定义了公钥证书的格式和相关的验证流程。X.509证书通常使用DER编码或PEM编码。DER (Distinguished Encoding Rules):D...

2024-03-21 07:55:12 71

转载 常见的Hook技术方案总结

本文为看雪论坛精华文章看雪论坛作者ID:随风而行aa一前言最近一段时间在研究Android加壳和脱壳技术,其中涉及到了一些hook技术,于是将自己学习的一些hook技术进行了一下梳理,以便后面回顾和大家学习。本文第二节主要讲述编译原理,了解编译原理可以帮助进一步理解hook技术。本文第三节主要讲述NDK开发的一些基础知识。本文第四节主要讲述各类hook技术的实现原理。本文第五节主要讲述各hook技...

2024-03-20 08:17:01 52

转载 HarmonyOS开发:超详细介绍如何开源静态共享包,实现远程依赖

前言当我们开发了一个独立的功能,想让他人进行使用,一般的方式就是开源出去,有源码的方式,也有文件包的形式,当然了也有远程依赖的方式,比如在Android中,我们可以提供源码,也可以打包成一个aar,当然了也可以maven仓库形式的远程依赖。无论是内部多项目形式的开发,还是开源供他人使用,无疑远程依赖的方式是最方便的,有了更改,只需变动版本号就可以了,当然了,如果是内部,仅仅是单一项目使用,大可不必...

2024-03-17 09:07:43 81

转载 深坑,谨慎用动态代理对象作为监听器

大家好,三月已到,正是退税、赏桃花、看掘金的好日子,这次给大家分享下使用动态代理对象作为监听器注入中埋藏的隐患,发生在一个业务场景中,且听我一一道来。前情回顾假设当前有一个需求,我们需要动态监听一个人一天内执行的一些动作,作为上层应用,咱们肯定是不care具体怎么实现人动作的监测,只需要找个能干活的三方的SDK,该SDK暴漏监听的方法给上层应用,上层应用只用注册个监听器给SDK就行,当人动作发生的...

2024-03-14 08:44:33 36

转载 Android adb 使用手册,机顶盒开发必看

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb命令可用于执行各种设备操作,例如安装和调试应用。adb提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出adb命令从命令行终端调用客户端。守护程序 (adbd) :用于在设备...

2024-03-11 08:01:32 74

转载 手机上开发Android车机应用一 预制系统apk

背景书接上回,在我的Pixel上刷上车机系统后,准备开发一个系统预制的ROOT权限的应用。# 榨干Pixel5最后的价值:编译刷写Android12L车机系统https://juejin.cn/post/7316695933739089920暂时设计了如下几个功能,目前每天下班回家开发一点,已经写了两个页面:设备信息APP信息调试功能信号模拟文件浏览网络交互想要设计的功能全部开发完毕,需要提升至...

2024-03-08 08:10:23 111

转载 Android系统启动流程

前言作为一个 Android 应用开发者,是否想过当你按下 Android 电源键打开设备,从硬件到软件会发生什么?是否会有以下疑问:当设备开机动画出现时,屏幕后面到底发生了什么?手机或者汽车等设备究竟如何加载、引导并启动 Android 操作系统?接下来的文章将会通过图文结合的方式来探索 Android 操作系统的启动流程。Android 启动流程每次 Android 设备开机时都会经过一次完整...

2024-03-03 14:39:45 74

转载 HarmonyOS-AES加解密

前言客户端开发中存在一些需要在传输过程中进行保护的重要信息,比如用户通讯录信息,用户日志等信息。这种情况下就需要采用适当的加密与解密方式。作者:张保罗链接:https://juejin.cn/post/7340152660224425996常规的加密方式有AES,RSA 等。本篇中介绍对称加密方式AES,这种对称式加密方式中加密与解密使用相同密钥。鸿蒙加解密算法框架详细介绍了完整的使用方法供参考...

2024-02-28 08:11:56 472

转载 设计模式巡礼:多板适配案例解析与深度重构

麦客奥德彪的博客地址:https://juejin.cn/user/2365804752418232/posts/ 场景分析 /开发的产品是需要运行到不同的定制Android板子,不同板子有对应的不同SDK提供的API,目前的业务端,业务流程基本是确定的,比如有业务流程为打开板子的某项开关(需求就是打开开关),对应在板子中可能存在A、B、C三个板子或者更多,其中板子都提供了打开开关S的方法...

2024-02-18 08:24:17 48

转载 Android 车载应用开发入门

1 Android Automotive OS 概览车载 Android 系统也被称为 Android Automotive OS,是对原始 Android 系统的一个功能扩充版本。与手机系统一样,Android Automotive OS 源代码完全开放,第三方供应商和汽车制造商可以官方源码的基础上自行开发和拓展,无论是编程语言还是各项接口,都与 Android 系统保持了一致。与 Androi...

2024-02-06 08:02:58 443

转载 Android 车载应用开发指南- 车载操作系统全解析

1 前言到 2030 年,全球电动汽车的销量将超过 7000 万辆,保有量将达到 3.8 亿辆,全球年度新车渗透率有望触及 60% 。这一数据来自国际能源署(IEA)发布的《全球电动汽车展望2023》。推荐一款实用型免费小程序工具日常工具大全作者:话唠扇贝链接:https://juejin.cn/post/7331539819606638655市场趋势和政策努力的双加持下,新能源汽车来势凶猛,燃...

2024-02-05 08:34:24 233

转载 HarmonyOS一杯冰美式的时间 -- 应用内消息通知

一、前言首先,启用Notice功能需在应用设置中激活消息通知选项。对于具有应用外推送能力的功能,还需在设备的系统设置中授权通知权限。面对用户可能的权限拒绝,我们需要备选方案,在应用内部实现类似微信的Notice。作者:只能写写代码过日子链接:https://juejin.cn/post/7329141961092284468我们公司目前选择是单Ability的Stage,在Android的单Ac...

2024-02-02 07:56:35 43

转载 Android 车载应用开发指南 - SystemUI

一 SystemUI 概述SystemUI全称System User Interface,直译过来就是系统级用户交互界面,在 Android 系统中由SystemUI负责统一管理整个系统层的 UI,它是一个系统级应用程序(APK),源码在/frameworks/base/packages/目录下。作者:话唠扇贝链接:https://juejin.cn/post/7326464207365177...

2024-02-02 07:56:35 185

转载 API9和API10实现沉浸式窗口的方式

鸿蒙API9和API10没有实现沉浸式窗口的方式。沉浸式窗口是Android 5.0(API 21)引入的一项功能,它允许应用占据整个屏幕,隐藏系统栏,提供更沉浸式的用户体验。在API 9和API 10中,没有提供实现沉浸式窗口的官方API或方法。这些版本的功能和API与沉浸式窗口的实现不兼容。因此,要在这些版本上实现类似沉浸式窗口的效果,需要使用自定义的解决方案或第三方库。在API9中...

2024-01-30 08:03:25 193

转载 鸿蒙ArkUI如何开发跨平台应用?

一、前言提到跨平台,要先理解什么是“平台”,这里的平台,就是指应用程序的运行环境,例如操作系统,或者是Web浏览器,具体的像HarmonyOS、Android、iOS、或者浏览器,都可以叫做平台。跨平台框架,就是一个应用的开发框架,开发者基于这个框架开发的应用,可以分别在不同的平台上运行,业界比较知名的比如:React Native、Flutter或者各种小程序框架,都可以称之为跨平台框架。作者:...

2024-01-26 08:00:39 173

转载 Jetpack Compose - 关于重组

Sunday1990的博客地址:https://juejin.cn/user/3843548382274455/posts本文把Jetpack Compose简称为Compose,在开始之前,先明确几个重要的概念。推荐一款实用型免费小程序工具日常工具大全被@Composable注解标注的函数或者Lambda,称为可组合项。由N个可组合项组成的树状结构,称为组合。第一次渲染的组合,称为初始组合。初始...

2024-01-23 08:12:27 81

转载 安卓与串口通信-如何区分连接的设备

前言与背景一般来说,不管是在什么平台上需要与外接硬件交互,第一件事都是应该能够正确的识别出目标硬件。推荐一款实用型免费小程序工具日常工具大全作者:equationl链接:https://juejin.cn/post/7291520918796255269例如在 Windows 上,当一个新的外设设备被插入到我们的电脑时,系统会通过 Hardware IDs 、Compatible IDs 来确定...

2024-01-21 09:07:20 80

转载 鸿蒙 ark ui ets 实现仿boss直聘demo

前言:最近在学校鸿蒙ark ui 框架 因为要参加一个比赛 所以就学习了一个晚上 就写了一个demo 我觉得有必要分享给各位 。废话不多说我们正式开始推荐一款实用型免费小程序工具日常工具大全作者:坚果派_xq9527链接:https://juejin.cn/post/7252591697514692645效果图具体代码实现底部导航Row() { Column(){ Image((th...

2024-01-18 08:00:46 79

转载 免费开源的《鸿蒙开发入门学习笔记》

鸿蒙从一诞生,就背着一个”套壳“的骂名,毕竟一直都兼容AOSP(Android 开放源代码项目),很难不让人怀疑,当然了,曾经的我也有所怀疑,以至于,对于HarmonyOS保持的态度,始终都是,冷漠,不感冒,毕竟Android开发的包,在HarmonyOS上也能用,我们何必再去研究它呢?费力又费时间,还不如刷刷短视频,对吧。但是,一旦HarmonyOS剥离AOSP,Android开发的包无法在其运...

2024-01-16 08:00:17 65

转载 Apk自动签名工具

序言因为360加固,自动签名需要开通VIP,每次加固完了都得手动签名。所以写了个工具。实现通过配置文件配置,拖拽APK自动签名。作者:solo_99链接:https://juejin.cn/post/7234058802743476284推荐一款实用型免费小程序工具日常工具大全支持:V1 V2 V3 V4 签名。通过分析清单文件,自动选择版本。效果使用1.下载jar包autoSign-1.0.j...

2024-01-15 08:12:49 86

转载 Android APP合规检查,你可能需要这个工具~

虽迟但到,这是一个通过拦截Java方法调用用以检测应用是否合规的工具,如果你的APP正饱受监管部门或应用市场时不时下发整改通知的折磨,那么用它来检查你的代码以及引用的三方库是再好不过的选择了!推荐一款实用型免费小程序工具日常工具大全作者:LOPER7链接:https://juejin.cn/post/7307470097663688731如何引入Step 1. 添加 mavenCentralal...

2024-01-13 16:06:42 128

转载 HarmonyOS开发:基于http开源一个网络请求库

前言 网络封装的目的,在于简洁,使用起来更加的方便,也易于我们进行相关动作的设置,如果,我们不封装,那么每次请求,就会重复大量的代码逻辑,如下代码,是官方给出的案例:作者:程序员一鸣链接:https://juejin.cn/post/7295397683397181450// 引入包名import http from '@ohos.net.http';// 每一个httpRequest对...

2024-01-08 07:50:33 140

转载 Android Studio Hedgehog 稳定版发布了

新版本又增加和优化哪些功能呢?作者:谋爱先谋生爱人先爱己链接:https://juejin.cn/post/7307469610381934632应用程序性能 Android Quality Insights中的Android Vitals除了帮助您调查使用Firebase Crashllytics SDK检测的应用的崩溃报告外,App Quality Insights现在还包括来自Google...

2024-01-03 08:03:05 321

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除