安卓系统上添加系统服务,可以通过 android.os.ServiceManager 来添加使用 java 实现的系统服务,放在 SytemServer 进程(内置在源码编译)或者放在 app 进程(需要是系统签名的系统应用)。
由于运行在 SystemServer 进程或者运行在app进程,某些特殊操作就面临权限不足的问题,比如操作kernel的节点,这个时候就需要使用使用 root 权限运行的进程了。(当然严格来说,通过java实现的服务,同样可以以 root 权限运行,比如将相应的代码编译成 jar,开机之后通过 appprocess 运行)。
C++ ini 实现
本文字数: 2.1k 阅读时长 ≈ 8 分钟
首先是从 https://github.com/benhoyt/inih 取用的 ini 读取类头文件
记一次服务器被黑用于挖矿的处理记录
本文字数: 1.1k 阅读时长 ≈ 4 分钟
某日上班,登服务器后编译Android ROM,增量编译时间比平时长了 3~4 倍,htop 看一下
使用 openssl 进行 RSA/ECB/PKCS1PADDING 加解密
本文字数: 679 阅读时长 ≈ 2 分钟
使用 java
进行 RSA/ECB/PKCS1PADDING
是非常方便的,例如下面的示例
如何下载AOSP的单个仓库
本文字数: 15k 阅读时长 ≈ 55 分钟
AOSP 使用 repo 来组织代码的,有时候我们只需要下载其中一部分代码。下面是具体的操作方式
仿Hexdump的实现
本文字数: 290 阅读时长 ≈ 1 分钟
编码过程中我们有时候需要将数据的十六进制值打出来看看,这里做一下记录
如何部署 perfetto ui
本文字数: 927 阅读时长 ≈ 3 分钟
perfetto 是从安卓9.0开始可用的安卓系统性能监测相关的一个工具,可以参考官网: perfetto
通常我们使用 ui.perfetto.dev 来查看从系统里面抓取到的信息,这个网站是可以离线使用的,但是某些时候,我们需要将这个网站离线或者部署到内网使用,这里我们主要参考 Perfetto build instruction。p.s: 官网是更加详细的,这里只是简单总结一下步骤。
如何打开安卓的 screencap 命令生成的 raw 图片
本文字数: 345 阅读时长 ≈ 1 分钟
以 Android 9.0 为例,screencap 的实现可以查看 http://androidxref.com/9.0.0_r3/xref/frameworks/base/cmds/screencap/screencap.cpp 。
在 Ubuntu 内如何更改 Chrome 的语言
本文字数: 599 阅读时长 ≈ 2 分钟
在 Ubuntu(20.04) 内更改 Chrome 的语言时,并没有像是 Windows 的以这种语言显示 Google Chrome
的选项。最多也只能修改提示翻译的优先语言。没有严格意义上的“更改显示语言”的选项。
在 Ubuntu 上,Chrome的显示语言可以根据系统语言变化,一种办法是将系统语言设置成你想要显示的语言,但是对于中文用户来说,更多的场景可能是系统语言是英文,应用语言是中文,比如这里的Chrome。如果你是我所说的这种情况,那么本文的内容可能对你有帮助。
UWP简单教程
本文字数: 1.7k 阅读时长 ≈ 6 分钟