
Android基础
文章平均质量分 82
BestW2Y
这个作者很懒,什么都没留下…
展开
-
[Android 基础] -- Android 硬件抽象层(HAL)深入剖析(三)
android hal转载 2021-11-30 17:08:13 · 264 阅读 · 1 评论 -
[Android 基础] -- Android 硬件抽象层(HAL)输入剖析(二)
hal转载 2021-11-30 16:21:02 · 343 阅读 · 0 评论 -
[Android 基础] -- Android 硬件抽象层(HAL)深入剖析(一)
HAL:硬件抽象层转载 2021-11-30 15:03:40 · 1073 阅读 · 0 评论 -
[Android 基础] -- Android 添加系统属性
在 Android 系统中有一个 Property Service 服务,这个服务对外提供了两个接口:SystemProperties.get(String key, String def) 读取系统属性 SystemProperties.set(String key, String val) 设置系统属性 有两个命令行对这两个接口进行了封装,我们可以直接在 adb shell 中输入:getprop key 读取系统属性 setprop key val 设置系统...转载 2021-10-09 16:52:38 · 2788 阅读 · 0 评论 -
[Android 基础] -- SELinux/SEAndroid 实例简述(三) 实例看 SELinux/SEAndroid
基础知识都已经学习完了,但是还不知道怎么样,下面从不同的场景,实现了几个例子,可以参考学习一下。 对于 /extern/sepolicy 的修改如下方法编译:1. mmm external/sepolicy2. make bootimg 不过对于 MTK 的 Android 系统,不建议修改 external/sepolicy,而是修改 device/mediatek/common/sepolicy,在 plicy 目录下,make relab...转载 2021-09-26 16:47:32 · 2236 阅读 · 0 评论 -
[Android 基础] -- SELinux For Android (Android O)
改为当意译自 Android 官方 《SELinux for Android 8.0》转载 2021-08-11 17:19:19 · 3300 阅读 · 0 评论 -
[Android 基础] -- Android 属性系统简介
一、简介 在 android 系统中,为同一管理系统的属性,设计了一个统一的属性系统。每个属性都有一个名字和值,他们都是字符串格式。属性被大量使用在 Android 系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以 get/set 属性。在编译的过程中会将各种系统参数汇总到 build.proc 以及 default.proc 这两个文件中,主要属性集中在 build.proc 中。系统在开机后将读取配置信息并构建共享缓冲区,加快查询速度。另外一个...转载 2021-07-28 15:25:04 · 2090 阅读 · 0 评论 -
[Android 基础] -- 修改设备访问权限
一、背景在硬件抽象层模块中,我们是调用 open 函数来打开对应的设备文件的。例如,在 2.3.2 小节中开发的硬件抽象层模块 freq 中,函数 freg_device_open 调用 open 函数来打开设备 /dev/freg。if((dev->fd = open(DEVICE_NAME, O_RDWR)) == -1){ LOGE("Failed to open device file /dev/freg -- %s.", strerror(errno)); fre转载 2021-04-27 11:06:47 · 653 阅读 · 0 评论 -
[Android 基础] -- 把 apk、so 等文件,打包到 system.img 的方法 —— PRODUCT_PACKAGES 与 PRODUCT_COPY_FILES
本文说的打包是指在 aosp 中用 make -j8 编译后,把自己需要的文件打包到 system.img 中。这里有两种情况,第一种是 apk、so 是第三方提供的,已经编译好了,只要打包到 system.img 即可;第二种是有 apk、so 的源码,并且需要放在 aosp 中编译。一、第一种情况 —— PRODUCT_COPY_FILES可以修改 device.mk 中的 PRODUCT_COPY_FILES,这里用 android4.0 中自带的 device/ti/panda 来修.转载 2021-04-26 16:20:08 · 6244 阅读 · 0 评论 -
[Android 基础] -- Android 定制:预置应用程序
一、引言我们在拿到一个新的 Android 设备的时候,第一次开机进入系统,我们会发现里面有好多预装的应用程序。这些应用程序有的可以删除,有的却没有删除权限。我们在定制系统的时候往往希望系统自带我们提供的应用程序,设置开机就运行我们的程序,比如安卓盒子,进入系统之后展示的不是 Android 的原生 Launcher 而是一个定制的 LanucherApp。二、描述我们需要在系统安装好之后首次启动系统就存在我们的应用程序,而不需要开机之后再次安装,这样就需要考虑进行预置 APP(应用),预置还有转载 2021-04-26 15:02:32 · 2920 阅读 · 0 评论 -
[Android 基础] -- 理解 Android.bp
本文转自于:http://gityuan.com/2018/06/02/android-bp/介绍 Android 最新的编译系统一、简介早期的 Android 系统都是采用 Android.mk 的配置来编译源码,从 Android 7。0 开始引入 Android.bp。很明显 Android.bp 的出现就是为了替换掉 Android.mk。再来说一说跟着 Android 版本相应的发展演变过程:Android 7.0 引入 ninja 和 kati; Android 8.转载 2021-03-31 14:14:57 · 336 阅读 · 0 评论 -
[Android 基础] -- 深入理解 Android Build 系统
概述:Android Build 系统是用来编译 Android 系统、Android SDK 以及相关文档的一套框架。在 Android 系统中,Android 的源码中包含了许许多多的模块。不同产商的不同设备对于 Android 系统的定制都是不一样的。如何将这些模块统一管理起来,如何能够在不同的操作系统上进行编译,如何在编译时能够支持面向不同的硬件设备,不同的编译类型,且还要提供面向各个...转载 2020-05-17 15:23:51 · 1586 阅读 · 0 评论 -
[Android 基础] -- Android 系统 init 进程启动及 init.rc 全解析
这是一篇用心写的博客,也希望大家用心看并帮忙找到文章的改进之处,谢谢。服务启动机制system/core/init/init.c 文件 main 函数中 parse_config_file(init.rc) 读取并解析 init.rc 文件内容。将 service 信息放置到 system/core/init/init_parser.cpp 的 service_list 中; syst...转载 2020-05-13 15:23:16 · 803 阅读 · 1 评论 -
[Android 基础] -- Android 8.1 开机流程分析(一)
一、启动过程概述 图:android_boot_process学习任何软硬件系统,研究系统启动过程都是一种非常有效地起步手段。上面的这张图可以帮组理解 Android 系统的启动过程。1、Boot ROM 阶段Android 设备上电后,首先会从处理器上 ROM 的启动引导代码开...转载 2020-05-06 17:50:10 · 1112 阅读 · 0 评论 -
[Android 基础] -- ueventd.rc 处理硬件设备权限和 android init 对其解析
ueventd.rc 对硬件设备访问权限处理ueventd.rc:/dev/null 0666 root root/dev/zero 0666 root root/dev/full 0666 root root/dev/ptmx...转载 2020-04-30 13:47:13 · 1208 阅读 · 0 评论 -
[AndroidO基础] -- Android 编译安装Module的控制因素
前文Android——编译系统初始化设置中有解析编译的TARGET_BUILD_VARIANT的配置与基本区别,其中的一些编译控制是对的但是Module的Android.mk中的LOCAL_MODULE_TAGS 控制并不全适用目前的android4.2,这里记录一下我对Module的控制过程。首先还是这个放在Android.mk中的变量,默认在/build/core/base_ru...原创 2019-06-23 12:14:09 · 543 阅读 · 0 评论 -
[Android基础] -- Android属性之build.prop生成过程分析
本文简要分析一下build.prop是如何生成的。Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编译完成之后,文件生成在out/target/product/<board>/system/目录下。在Android运行时刻可以通过property_get()[c/c++域] / Syst...转载 2019-06-21 14:34:29 · 645 阅读 · 0 评论 -
[Android] -- Android 编译系统是如何通过环境变量 TARGET_PRODUCT 来决定编译定制product
本文转载于:https://blog.youkuaiyun.com/wh_19910525/article/details/7992570今天有时间小看一下Android 的Makefile, 终于稍有明白Android 编译系统是如何通过环境变量 TARGET_PRODUCT 来决定编译定制product.首先, 编译Android 代码 通常情况下使用:# make showcommands...转载 2019-06-16 15:07:56 · 1478 阅读 · 0 评论