zoukankan      html  css  js  c++  java
  • android framework 02

    Android底层开发
    1.安装Ubuntu系统
    2.Ubuntu配置开发环境:
    sudo apt-get install git-core gnupg flex bison gperf zip
    sudo apt-get install curl libc6-dev-i386 lib32ncurses5-dev
    sudo apt-get install lib32readline-gplv2-dev lib32z-dev
    3.配置Java JDK:
    http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
    下载jdk-6u45-linux-x64.bin并安装jdk
    4.Ubuntu配置环境变量:
    export JAVA_HOME=/home/hyg/jdk/jdk1.6.0_45/
    export PATH=$JAVA_HOME/bin:$PATH
    export classPath=$JAVA_HOME
    5.源代码:
    boot和kernel:
    lichee.tar.gz
    Android:
    android.tar.bz2.aa
    android.tar.bz2.ab
    android.tar.bz2.ac
    android.tar.bz2.ad
    6.源代码编译:
    1:解压源码
    tar zxvf lichee.tar.gz
    cat android.tar.bz2.a* | tar xj
    2:编译Boot和内核
    3:编译Android

    7.目录:
    bionic C库
    build 编译系统规则基础开发包配置
    cts 兼容性测试
    dalvik java 虚拟机
    external Android引入的第三方模块
    frameworks Android核心框架
    hardware 硬件适配层
    system 底层文件系统库,应用和组建
    deivce 产品目标目录
    out 编程生成目标文件目录

    8.Android编译过程:
    初始化参数设置
    检查环境变量与目标环境
    选择lunch并读取目标配置和平台信息
    清空输出目录
    编译
    生成升级包

    9.touch命令,tree命令,

    10.Android 启动模式
    1. recovery 升级模式:启动recovery分区内核和文件系统
    2.正常启动模式:引导内核和启动Android系统

    11.android升级模式:
    1.差量包升级(部分升级)
    2.全包升级

    12,init启动分析
    init进程源码位置:system/core/init/init.c
    init系统中位置:/init

    adb devices:查看链接的开发板
    adb shell:登录开发板
    ls -l:查看文件的详细信息,里面有一个init文件,是init.c生成的可执行文件,也是系统所要启动的一个应用程序,就是我们的守护进程,
    ps:查看当前系统中跑的所有的应用程序,init进程的PID是1,init进程用于创建所有的服务并且守护我们的整个系统,

    init进程的作用:
    1.第一个应用程序。2.创建目录,挂载分区。3.解析启动脚本,服务,操作,环境变量全部解析出来。4.启动服务 5.守护服务
    查看init源代码路径:vi system/core/init/init.c
    查找main函数:首先清除一些mark,解决后面创建文件时候的权限问题,然后在根目录下创建一些临时文件,然后挂载一些分区,




  • 相关阅读:
    Linux 02
    Linux 01
    React 函数式组件的 Ref 和子组件访问(useImperativeHandle)
    排序算法之 Java插入排序算法
    排序算法之 Java选择排序算法
    排序算法之 Java冒泡算法
    类加载的过程---验证和准备
    类加载的过程---加载
    mysql explain 查询处理的结果详解
    springboot整合分布式缓存hazelCast
  • 原文地址:https://www.cnblogs.com/yaowen/p/6416894.html
Copyright © 2011-2022 走看看