
Android
考古队码老板
这个作者很懒,什么都没留下…
展开
-
android 中system 如何打包编译生成的
====> 最后调用这个工具 mkuserimg_mke2fs 工具做文件系统原创 2022-01-11 14:49:56 · 1630 阅读 · 0 评论 -
repo 原理
1、repo 干什么用的2、repo 的原理Repo工具实际上是由一系列的Python脚本组成的,这些Python脚本通过调用Git命令来完成自己的功能。比较有意思的是,组成Repo工具的那些Python脚本本身也是一个Git仓库。这个Git仓库在AOSP里面就称为Repo仓库。我们每次执行Repo命令的时候,Repo仓库都会对自己进行一次更新。3、如何自己搭建一个仓库4、repo 目录结构分析下面我们先大概了解一下重要的几个目录的含义:.repo:此为repo目录,原创 2021-11-10 19:56:08 · 766 阅读 · 0 评论 -
Android studio 的 配置与安装
1.JDK下载、安装如果你还没有JDK的话,可以去这里官网:http://developers.sun.com/downloads/接下来的工作就是安装提示一步一步走。设置环境变量步骤如下:我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:JAVA_HOME值为:安装JDK的目录, 我的为C:\Program Files\Java\jdk1.6.0_34CLA原创 2017-02-26 20:09:49 · 435 阅读 · 0 评论 -
android编译系统分析一:source build/envsetup.sh与lunch
虽然已经有很多人分析过android的编译系统的代码了,我也看过他们的博客,也学到了不少知识,但单纯的看别人分析,终究还是理解的不深入,所以,我还是要自己再认真的分析一遍。想想我们编译android系统的过程:首先:source build/envsetup.sh其次:lunch ---选择一个特定的类型最后:make按着这个顺序,追踪这看似简单的几步,到底有哪些背后的秘密? 1. so...转载 2018-06-20 11:49:02 · 4291 阅读 · 0 评论 -
Android编译系统分析二:mm编译单个模块
因为Android的编译系统不同于Linux Kernel的递归式的编译系统,它的编译系统是一种称之为independent的模式,每个模块基本独立(它有可能依赖其他模块),每个模块都可以单独编译,这是Android independent编译系统模式的好处。但这并不意味着它是完美的,普通电脑编译android系统需要8个小时甚至更多(以本人的电脑为例),而编译linux kernel只需要半个小...原创 2018-06-20 14:12:11 · 800 阅读 · 0 评论 -
Android编译系统分析三:make完整编译android系统
这篇博客的目标是摸清楚默认编译整个android系统时代码的流程。当我们执行make的时候,会查找当前的Makefie文件或者makefile文件并且执行,在android顶级源码目录下面,确实有个Makefile,它之后一行内容:[plain] view plain copy### DO NOT EDIT THIS FILE ### include build/core/main.mk ##...转载 2018-06-20 14:30:53 · 3415 阅读 · 0 评论 -
Android编译系统分析四:实战-新增一个产品
通过上一节“android编译系统(三)-make”的分析,初步理清楚了编译初期加载产品相关信息的流程,整个过程主要涉及三个文件:1.AndroidProducts.mk,2.具体产品的配置文件,3.BoardConfig.mk,加上lunch需要的vendorsetup.sh文件,总共只需要四个文件就可以了,所以我们不妨成热打铁,赶紧尝试下如何新增一个产品。因此,android编译系统镜像文件的...转载 2018-06-20 14:46:27 · 586 阅读 · 0 评论 -
Android编译系统分析五:system.img的生成过程
我们在完整编译android系统的时候,最终会生成几个重要的镜像文件,其中有system.img,userdata.img,ramdisk.img等。这篇文章的目的是分析system.img的生成过程。 回想下我们完整编译android系统时的动作,我们会在android源码顶级目录执行make命令,这样就会完整的编译android系统,我们没有传入任何参数(-jx等加快编译的除外),因为我们没有...转载 2018-06-20 14:58:25 · 1463 阅读 · 0 评论 -
内核与ramdisk到底是什么关系?
假如把所有驱动/模块都编译进内核(注:即编一个通用的、万能的内核),那自然没问题,但是这样就违背了“内核”的精神或本质,所以一般来说驱动/模块都驻留在根文件系统本身上/lib/modules/xxx,那么“鸡蛋”问题就来了,现在要mount根文件系统却需要根文件系统上的模块文件,怎么办?于是,就想出ramdisk,内核总是能安装ramdisk的(注:这是因为ramdisk临时文件系统和内核一样,也...转载 2018-06-20 15:21:04 · 1830 阅读 · 0 评论