要不要再学学下面的文章?
以非阻塞方式执行一个函数 (blog.codingnow.com)
用过 skynet 的应该都碰到过:当我们在服务中不小心调用了一个长时间运行而不返回的 C 函数,会独占一个工作线程。同时,这个被阻塞的服务也无法处理新的消息。一旦这种情况发生,看似是无解的。我们通常认为,是设计问题导致了这种情况发生。skynet 的框架在监测到这种情况发生时,会输出 maybe in an endless loop 。

如果是 Lua 函数产生的死循环,可以通过发送 signal 打断正在运行运行的 Lua 虚拟机,但如果是陷入 C 函数中,只能事后追查 bug 了。

那么,如果我原本就预期一段 C 代码会运行很长时间,有没有可能从底层支持以非阻塞方式运行这段代码呢?即,在这段代码运行期间,该服务还可以接收并处理新的消息?
by @技术头条 2024-03-13 13:20 查看详情
深入 Android 可信应用漏洞挖掘 (paper.seebug.org)
重点介绍了主流厂商的TEE环境中的TA实现以及常见的攻击面并分享了一些针对TA做安全研究的技巧与方法,比如如何尽可能快速的拥有一台具备Root权限的手机用于研究与测试。同时还介绍了如何实现对TA进行模拟以及使用到的Fuzzing技术和部分调优策略。
by @技术头条 2023-10-30 23:40 查看详情
Android|集成 slf4j + logback 作为日志框架 (mazhuang.org)
最近在做一个 Android APP 的日志改造,我搜了一下「Android 日志框架」,大多网友推荐的是 logger、timber、xLog 等等,看着也不错。不过出于几年后端开发的经验和习惯,我进一步了解,发现熟悉的 log4j 和 logback 在 Android 上也有人做过适配,所以最终决定使用 slf4j + logback,以在前后端开发中取得一致的体验。
by @技术头条 2023-10-30 22:56 查看详情
关于gradle中plugins依赖未走私服导致编译失败的原因探析 (wiki.eryajf.net)
我们的项目标配使用gradle进行编译,我们也配置了nexus作为私服,理论上来说,不应该再会出现因包依赖的原因导致编译失败的情况,但是这个问题仍旧会偶尔发生,我解决过一两次,只看到通常失败的编译都是在开头的时候去 plugins.gradle.org 拉包的情况,当时将该问题存疑,本文特来探析一下导致这个问题的根因。
by @技术头条 2023-07-02 23:44 查看详情
Android 模拟器实现 hosts 修改 (droidyue.com)
有时候我们需要使用 Android 模拟器来 绑定一下 hosts 来实现功能的开发与验证,刚好最近遇到了这样的需求,处理完成,简单记录一下。
by @技术头条 2023-06-24 23:28 查看详情
Robust 2.0:支持Android R8的升级版热修复框架 (tech.meituan.com)
2016年,我们对美团Android热更新方案Robust的技术原理做了详细介绍。近几年,Google 推出了新的代码优化混淆工具R8,Android 热修复补丁制作依赖二次构建包和线上包对比,需要对Proguard切换到R8提前进行适配和改造,本文分享 Robust 在适配 R8 以及优化改进中的一些思路和经验,希望能对大家有所帮助或者启发。
by @技术头条 2023-06-24 09:21 查看详情
iptables 在 Android 抓包中的妙用 (paper.seebug.org)
昨天在测试一个 Android APK 的时候发现使用 WiFi 的 HTTP 代理无法抓到包,在代理的日志中没有发现任何 SSL Alert,因此可以判断不是证书问题;另外 APP 本身仍可以正常收发数据,这说明代理设置被应用绕过了。

根据我们前一篇文章(终端应用安全之网络流量分析)中所介绍的,遇到这种情况时就可以使用路由抓包方法,确保接管所有流量。但是因为端午放假被封印在家,且用于抓包的树莓派放在了公司,因此只有另谋他路。

本来接着考虑装个 DroidProxy 去试一下,但突然间灵光一闪,为什么不直接用 iptables 去修改流量呢?于是,就有了这篇小记。
by @技术头条 2023-02-12 14:10 查看详情
可信执行环境之AMD内存加密技术概述 (blog.nsfocus.net)
本文将简单介绍主流可信执行环境技术之一的AMD内存加密技术,简述其技术架构、原理与应用场景。
by @技术头条 2023-01-04 23:42 查看详情
Android DeepLink介绍与使用 (cloud.tencent.com)
前段时间公司让调研一下DeepLink,说以后会用到,之前看了很久,并做了个demo,现整理一下,方便以后查阅,如果有幸帮助到其他人就更好了。
by @shengting 2022-09-07 14:30 查看详情
Webpack 打包后代码执行时机分析与优化 (www.alloyteam.com)
代码执行时机将决定着是否能够正常执行,当依赖文件没加载完成就开始执行、使用对应模块,那么将会导致执行异常。这在 “存在资源加载失败时,加载重试影响原来文件的执行顺序” 的场景下尤为常见。

webpack 构建除了进行模块依赖管理,实际上,也天然地管理了 entry 与 chunk 多文件的执行时机,但缺少了对 external 文件管理,当 external 文件加载失败或未完成时,执行、使用对应模块同样将导致异常。为此,wait-external-webpack-plugin 应运而生,以 webpack 插件的形式,补充 external 的执行管理。本文将进行简要说明。
by @技术头条 2022-07-24 21:17 查看详情
技术头条

PRE
在很久之前写过一篇Android中AsyncTask的依赖执行用法,说得比较乱,也没有用代码来明确说明,最近改coolhosts的代码时,发现这个写法真的太好用了,在添加功能和删除功能的时候,代码改动很少。
这里再利用CoolHosts的代码(主要看coolhosts.java即可)详细解释一下。

功能需求
多个多线程任务之间有依赖关系,用线程等待太丑陋,若采用线程结束自动调用下一个任务则可能在功能修改的时候任务量巨大。

by @技术头条 2015-08-31 19:57