适配Android16 Android16新特性Android 16带来了许多新特性和改进,提升了系统的流畅度、用户体验和安全性。对于应用开发者来说,适配Android 16可以确保应用在该版本上的兼容性和性能,同时也可以利用其新特性为用户提供更好的服务。以下是Android 16的一些主要新特性:Project Butter(黄油计划):旨在改善Android系统的流畅度和响应速度。引入了垂直同步(VSync)技术,确...
AGP8.0 插件适配中 学到的一些知识点 gradle和gradle-api的区别我们在插件开发的时候 如果你看官方的demo 你会发现他们现在都是给你gradle-api 这个依赖,但实际开发的时候我们会发现还会直接用gradle 依赖比较好简单来说gradle-api 是官方给你的一个简易依赖,对外暴露的api更少,但是更加稳定,agp本身的api变化 会在这个gradle-api依赖中抹平(是不是有一点像booster做的事?)但是...
2025年Android开发趋势预测 1. 人工智能与机器学习的集成智能助手和语音交互:随着语音识别和自然语言处理技术的不断进步,Android应用将更加注重语音交互功能。智能助手将能够理解用户的语音指令,并提供更加个性化的服务。图像识别和计算机视觉:图像识别技术将在Android应用中得到更广泛的应用,例如人脸识别、物体识别、场景识别等。这将为用户带来更加便捷和智能的体验。推荐系统:利用机器学习算法,Android应用将能够根据用户...
深入研究Android启动速度优化 内存优化大纲一、概述内存作为计算机程序运行最重要的资源之一,需要运行过程中做到合理的资源分配与回收,不合理的内存占用轻则使得用户应用程序运行卡顿、ANR、黑屏,重则导致用户应用程序发生 OOM(out of memory)崩溃。如果需要在各种设备资源上保持流畅性和稳定性,内存优化是性能优化中最重要的一环。内存问题普遍是大问题,每一行代码都涉及到内存申请以及回收等过程,但是缺少关注度。为什么缺乏关注...
Android 性能优化:内存优化(实践篇) 1. 前言前一篇文章Android性能优化:内存优化 (思路篇)https://juejin.cn/post/7438909551561146368大概梳理了Android 内存原理和优化的必要性及应该如何优化,输出了一套短期和长期内存优化治理的SOP方案。那么这一篇文章就总结下我最近在做内存优化如何实践的,本篇文章有参考了很多其他大佬的文章,站在巨人肩膀上确实更加省力,感谢~ ,这里会对大部...
Android事件分发的这些问题你真的搞懂了吗? 背景前段时间项目上遇到一个bug,是跟事件分发有关的,故特意将事件分发相关的细节点整理出来。Activity 启动涉及到的核心类说明Activity展示过程中涉及到的核心类如下所示,因为后续多个场景会涉及到相关类的功能,大家可以先有个印象。App(通过IActivityManger访问AMS)和AMS通信(通过IApplicationThread回调App):ActivityThread: App...
Androidmanifest文件加固和对抗 前言恶意软件为了不让我们很容易反编译一个apk,会对androidmanifest文件进行魔改加固,本文探索androidmanifest加固的常见手法以及对抗方法。这里提供一个恶意样本的androidmanifest.xml文件,我们学完之后可以动手实践。Androidmanifest文件组成这里贴一张经典图,主要描述了androidmanifest的组成androidmanifest文件头部仅...
Android混淆篇 ProGuard 工作流程ProGuard工作过程包括四个步骤:shrink,optimize,obfuscate,preverigy。这四个步骤都是可选,但是顺序都是不变的。shrink:检测并删除项目中未使用到的类,字段,方法以及属性。optimize:优化字节码,移除无用指令,或者进行指令优化。(R8优化工具不提供关闭优化的选项,同时也不支持对优化行为进行自定义修改。因此,尝试在配置中使用-...
这是你们项目中WebView的样子吗? 作者简介:Serpit,Android开发工程师,2023年加入37手游技术部,目前负责国内游戏发行 Android SDK 开发。前言开始前先问大家一个问题,你们项目中或者理想中的WebView的使用姿势是如何的?有哪些规范、功能?都可以在下方评论中说出来大家讨论一下。下面正式开始介绍我们对于一个WebView使用的一些理解。可监控可监控是线上项目很重要的一个功能,监控的东西可以是用户体验相关数...
activityGuard:Android 四大组件混淆 denglongfei的博客地址:https://juejin.cn/user/4265760848352311/postsactivityGuard是一种针对四大组件进行混淆的解决方案,能够在打包时对apk和aab中的Activity、Service、Application和自定义的view进行名称混淆以提升应用的安全性。目的防止逆向:Android四大组件的类名直接暴露在AndroidMani...
5种常见Android的SDK开发的方式 Android SDK 开发, 是一门艺术,只有都掌握了,才能轻松应对各种场景一、前言本文介绍思路:本文介绍 5 种 SDK 开发方式,和对应使用场景,难度逐级递增,重点介绍第4,5种方式:涉及到插件化方式,思维,和跨进程通信AIDL相关知识第4,5种方式示例工程SDK常见的例如:地图SDK, 推送SDK,异常监控SDK,人脸识别SDK,支付SDK,游戏SDK,或者网络相关库,图片加载库,上传,下...
Android黑科技——破解系统隐藏API 1 背景首先我们来了解一下上面是隐藏API: 以下内容摘录自官方文档针对非 SDK 接口的限制从 Android 9(API 级别 28)开始,Android 平台对应用能使用的非 SDK 接口实施了限制。只要应用引用非 SDK 接口或尝试使用反射或 JNI 来获取其句柄,这些限制就适用。这些限制旨在帮助提升用户体验和开发者体验,为用户降低应用发生崩溃的风险,同时为开发者降低紧急发布的风险。如需详...
轻松搞定Android蓝牙打印机,双屏异显及副屏分辨率适配解决办法 前言在前面文章已经介绍了Android串口,USB,打印机,扫码枪,支付盒子,键盘,鼠标,U盘等开发使用一网打尽的用法,今天我们来简单介绍普通蓝牙打印机,和Android 系统上双屏异显的使用。 蓝牙及蓝牙音乐,蓝牙实时传输音视频将在后面文章中进行介绍一、普通蓝牙打印机蓝牙打印机使用步骤:权限-->搜索-->连接-->发送打印指令需要权限:<uses-permission ...
车载Android开发的秘密--搞懂CAN通信 最近工作用到了CAN通信,我就把CAN通信总结一下。学习CAN通信之前,我在搜索学习资料的时候,大部分都介绍CAN的历史,等等,什么车载应用估计是培训机构的文章,读完感觉没啥用。写代码和硬件沟通还是无从下手。我先讲通信原理,再讲协议。1、CAN简介CAN总线(Controller Area Network Bus)控制器局域网总线CAN总线是构建的一种局域网网络。每个挂载在CAN总线的设备,都...
Android Resource资源管理 本篇文章转自为码消得人憔悴的博客,文章主要分享了如何使用Android Resource资源管理,相信会对大家有所帮助!原文地址:https://juejin.cn/post/7442182627661168649Resource资源管理是 Android 中非常核心的一部分,它涉及到多个类的协作来完成资源的加载、缓存和配置匹配,相关类报名package: "android.content.res...
Android 实现微信读书划线的效果 最近遇到过一个实现类似微信读书的划线效果的需求。如下图所示,可以看到,微信读书划线支持涂抹、直线以及波浪线三种效果。对于涂抹效果可以使用 BackgroundColorSpan实现,代码示例如下:val content = SpannableStringBuilder(textView.text) content.setSpan(BackgroundColorSpan(Color.RED), ...
鸿蒙开发:自定义一个任意位置弹出的Dialog 前言鸿蒙开发中,一直有个问题困扰着自己,想必也困扰着大多数开发者,那就是,系统提供的dialog自定义弹窗,无法实现在任意位置进行弹出,仅限于@CustomDialog和@Component struct的成员变量,这就导致了,我想在封装的工具类或者ViewModel,或者其他地方弹出,只能通过事件或者回调触发UI层才能执行,很是不方便,除此之外,虽然说UI我们可以共用,但CustomDialog...
鸿蒙Harmony应用开发,一起来写一个“遥遥领先”的开眼App 前言最近不知道怎么鸿蒙Harmony突然就很火,到处都是鸿蒙开发相关的文章,培训机构的也是各种推鸿蒙应用,不知道是真的????了,还是在贩卖焦虑!不过看热度不错,那也就来了解了解咱们的遥遥领先????,花了大概一周的闲暇时间从了解到参照自己以前开眼App的api写了一款鸿蒙版本的开眼App!!!先把项目的地址贴上去:https://github.com/WinWang/HarmoneyOpenEye开发准备1...
Android串口,USB,打印机,扫码枪,支付盒子,键盘,鼠标,U盘等开发使用一网打尽... 一、前言在Android智能设备开发过程中,难免会遇到串口,USB,扫码枪,支付盒子,打印机,键盘,鼠标等接入场景,其实这些很简单,只是大多数情况下,大家都在做手机端的App开发,接触这方面的很少。本文重点介绍下这些在Android系统下是怎么接入使用的。二 、串口接入使用1. 可以到官网下载串口包 里面含有 libprt_serial_port.so 这个库,下载下来按照so使用方式接入就行了,...
鸿蒙开发:沉浸式效果实现 前言沉浸式效果,除了避免状态栏、应用界面和导航条的突兀效果,更多的是提升用户体验,比如下面的效果,当页面中的标题栏颜色和状态栏不一样时,视觉上显然是很突兀的,大家可以纵观市场上的绝大部分主流应用,比如支付宝,微信,或者各个游戏,都会发现,不约而同的都采取了沉浸式的效果。鸿蒙当中实现沉浸式效果,可以使用安全区域设置或者应用窗口管理进行实现。安全区域实现沉浸式安全区域是指页面的显示区域,也就是状态栏、...