![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android->AOSP研究
文章平均质量分 72
FIMH
这个作者很懒,什么都没留下…
展开
-
Android源代码编译完成之后运行模拟器
如果你完成编译之后,还在执行编译的那个终端中执行emulator,那么是可以直接执行这个命令的。如果你没有安装kvm,那么会提示你安装,否则无法运行(开启硬件加速)。 但是你关闭了原先的终端,在其它的终端里边执行上述命令,会提示你这个命令找不到。之前我们好歹还能运行这个命令,虽然提示缺少kvm。这篇文章记录如何解决这两个问题。安装kvm确保开启了硬件虚拟化无论是在Windows平台还是Linux平原创 2016-07-24 22:20:34 · 10615 阅读 · 0 评论 -
Android源代码编译笔记(支持5.x及以上版本) - Linux篇
这是之前的笔记,主要记录了如何搭建Android源代码编译环境进行编译。里边有一些优化和问题的记录,可能会帮助大家更快地编译出来自己的Android系统。系统与硬件为了方便,我使用了VMWare虚拟机搭载Ubuntu 14.04作为我的操作系统。因为虚拟机确实比较方便,在这个硬盘便宜的时代,多占一些空间还是问题不大的。而且可以方便我们来回移动虚拟机,并且虚拟机文件在Windows系统和Mac OSX原创 2016-07-24 14:57:10 · 15943 阅读 · 5 评论 -
Android ADB命令集合
时不时会用到adb与设备进行各种交互,为了不在使用的时候”东奔西跑”,这这里总结一下常用的命令,以备不时之需。原创 2016-08-30 12:02:39 · 1752 阅读 · 0 评论 -
AOSP是如何管理代码的
有关AOSP如何管理代码的一些杂记,持续更新中。原创 2017-03-27 16:48:54 · 1091 阅读 · 0 评论 -
Android源代码编译笔记(支持5.x及以上版本) - Mac篇
前边写过aosp在Linux上(Ubuntu)的编译文章,因为是在虚拟机里边,所以在方便的同时,效率也会有所折扣(调试编译运行速度等)。所以在Mac上试验了一次,发现方便很多。特此记录下来。大体流程还是与Android源代码编译笔记(支持5.x及以上版本) - Linux篇一致的,细节地方有所不同。安装软件包JDK这部分的要求对于各个平台是一致的,具体参见安装JDKCommand Line Tool原创 2017-03-19 13:32:45 · 548 阅读 · 0 评论 -
通过阅读刷机脚本flash-all.sh来学习shell脚本
关于shell脚本的文章,教程很多。但是一般属于工具书类型的,遇到不清楚的再去查。这里通过阅读Android的刷机脚本flash-all.sh来学习实际当中的shell是怎么写的。flash-all.sh脚本我选择的是HiKey版本的刷机文件,在Master分支的device/linaro/hikey/installer目录下可以找到。原始文件只有72行,所以这里加上我的注释都贴出来了#!/bin/原创 2016-08-18 11:47:41 · 4083 阅读 · 1 评论 -
Nexus Player刷机日记
RT刷机步骤正常开机后,连接USB调试模式,然后通过命令进入bootloader模式 $ adb reboot bootloader查看”LOCK STATE”,如果为”locked”,那么通过命令unlock $ fastboot oem unlock执行刷机命令如果是官方下载的factory image,那么执行flash-all.bat如果是自己编译的image,那么原创 2017-02-22 18:16:43 · 1667 阅读 · 0 评论 -
VMWare清理Linux虚拟机磁盘
关于这个问题,早就想写出来总结一下了。玩过VMWare的都知道,Windows虚拟机清理磁盘非常简单,在GUI界面下选择磁盘清理就可以了,但是此操作对Linux系统无解。注意,这里说的VMWare包括Windows平台的VMWare Workstation和Mac OSX的VMWare Fusion。这里以VMWare Fusion为例,记录一下是如何清理的。Linux虚拟机里磁盘清理清理已经删除的原创 2016-07-24 12:40:45 · 13859 阅读 · 0 评论 -
AOSP编译问题记录
只是日常遇到的问题的一些总结。如何编译单独的一个项目这个需求也经常会碰到,就像在从代码了解AOSP所了解到的,整个AOSP项目有500+个git子项目组成。如果我们想编译其中某个单独的项目,如何操作呢? TO BE ADDED参考从代码了解AOSP原创 2016-11-01 22:37:57 · 1002 阅读 · 0 评论 -
Android接口与架构
翻译自Android Interfaces and Architecture。Android提供给你实现自己的的设备规格与驱动的自由。硬件抽象层(HAL)提供了一个标准的方法用于连接(hook,钩子?)Android平台各层与你的硬件。Android操作系统同时也是开源的,所以你可以贡献你自己的接口与改进。为了确保设备保持一个高水准的质量并且提供一致的用户体验,每款设备必须通过兼容性测试(CTS)翻译 2016-10-16 22:18:49 · 601 阅读 · 0 评论 -
Android源代码(AOSP)调试 - Java部分
经过前面漫长的环境搭建、源码同步、编译之后,终于可以真正做点有意思的事情了 — AOSP源码调试。AOSP源码导入IDE内存优化因为源码非常多,所以导入时IDEA/AS会需要大量内存。所以我们需要编辑IDE的VM选项。配置文件为IDEA的是IDEA_HOME/bin/idea.vmoptionsAS的是AS_HOME/bin/studio.vmoptions 注意,AS有一个64位版本的配置文原创 2016-08-09 15:57:54 · 7598 阅读 · 1 评论 -
AOSP分支切换
有时,我们需要在不同的AOSP的分支之前切换。在Android官网上Google并没有关于不同分支之前如何切换的说明,那么最笨的方法是使用另外一台虚拟机(我习惯使用虚拟机)再同步一遍代码,但是这样耗时耗力。经过前边 从代码了解AOSP 的学习,我们知道整个AOSP的代码的分支(revision)与远程地址信息都在.repo/manifests/default.xml文件中指定,所以初步的想法是可以将原创 2016-09-02 17:23:27 · 9063 阅读 · 0 评论 -
AOSP中make clean与make clobber的区别
关于两者的区别,网上常见的一种解释是make clobber比make clean的清除更加严格,但是具体严格在哪里呢?并没有说明。原创 2016-09-20 11:37:17 · 12570 阅读 · 1 评论 -
使用HiKey进行开发
Android官方目前支持的有一款开发板,名为HiKey,我们可以通过研究它对AOSP有更深的理解。 官方购买链接是一个国外网站,购买起来不方便。其实这块板子是中国的一个公司生产(我和这家公司并无利益关系,所以这里也不贴具体信息了)的,我买了一块用来进行AOSP的研究。HiKey开发板HiKey是符合Linaro LCG组织的96Boards设计标准的开发板。而96Boards是基于ARM架构原创 2016-08-16 16:24:40 · 8781 阅读 · 0 评论 -
编译HiKey内核
在编译并运行AOSP,如果细心一些,你会发现,整个Android系统的内核,即Linux Kernel是Google预先编译好的(pre-built)。比如我刷好HiKey之后,关于里边的Kernel version是这样的: 首先,时间和我编译整个AOSP的时间不符,其次标识里边也没有我本机的信息。对比一下,我们看Build Number 可以发现,这里边明显有本机的标识。这里,我们可以自己编原创 2016-08-21 20:54:22 · 3386 阅读 · 2 评论 -
从代码了解AOSP
AOSP是什么?全称是Android Open Source Project,它是整个Android源码的开源项目。 官方地址是:https://android.googlesource.com如果你下载过源代码,那么对下面的这个指令不会陌生$ repo init -u https://android.googlesource.com/platform/manifest这是初始化AOSP的分支,默原创 2016-08-20 00:40:57 · 14850 阅读 · 0 评论 -
使用Jack编译
翻译自 Compiling with JackJack工具链Jack是一个Android工具链,用于将Java源码编译成Android dex字节码。它替换了之前的Android工具链,即由javac, ProGrard, jarjar和dx多个工具组成的集合。Jack工具链带来了以下优势:完全开源 AOSP中可以找到;欢迎合作伙伴贡献。加快编译速度 Jack对降低编译时间有具体的支持:pr翻译 2016-08-15 19:17:13 · 10559 阅读 · 0 评论 -
Android Framework与AOSP源码对应关系
这里边记录一下两者的对应关系,所谓Framework即你开发App时依赖的android.jar文件中的类。这篇文章是基于7.1(25)的。package androidpackage assetspackage com.android.internal.utilpackage dalvikpackage javapackage javaxpackage junitpackage org原创 2017-10-18 15:33:52 · 1944 阅读 · 0 评论