fwrite

fwrite

twitter
github
email

Android

AMS
AMS 通过 SystemServiceManager 来启动# Copy public final class SystemServer implements Dumpable { public static void main(String[]…
cover

Init进程

启动概述# Android 的第一个启动进程,init 的 PID 为 1,这个进程会解析 init.rc 来建构出系统的初始运作型态,其他的系统才会相继启动 启动电源&系统启动 当电源启动后,会从预定的地方(PC 读取 ROM),开始加载程序(BootLoader)到 RAM…
APK 瘦身
APK 结构# 在讨论如何减小应用的大小之前,了解应用 APK 的结构会很有帮助。APK 文件由 Zip 压缩文件(其中包含构成应用的所有文件)组成。这些文件包括 Java 类文件、资源文件和包含已编译资源的文件。 APK 包含以下目录: META-INF/:包含 CERT…

AOSP调试指南

编译 Android# 使用 envsetup.sh 脚本初始化环境:source build/envsetup.sh 或者. build/envsetup.sh 如需查看可用命令的完整列表,请运行以下命令:hmm Framework 调试# top# VIRT:这个内存使用…
cover
cover
cover
cover

MediaCodec

架构# MediaCodec 的 Decoder 现在有两种方式,分别为 OMX 和 Codec2,Android 目前全面在替换 OMX。 OMX# 开放多媒体加速层(Open Media Acceleration,缩写为 OpenMAX). 一个免费的跨平台抽象软件层…
App 体积优化
使用 Android App Bundle 上传应用# 要在发布到 Google Play 时立即缩减应用大小,最简单的方法就是将应用发布为 Android APP Bundle,这是一种全新的上传格式,其中包含应用的所有经过编译的代码和资源,但 APK 生成及签名则延后到…
混淆
官网 原理# Java 是一种跨平台的、解释型语言,Java 源代码编译成中间” 字节码” 存储于 class 文件中。由于跨平台的需要,Java 字节码中包括了很多源代码信息,如变量名、方法名,并且通过这些名称来访问变量和方法,这些符号带有许多语义信息,很容易被反编译成…
Ownership of this blog data is guaranteed by blockchain and smart contracts to the creator alone.