精华内容
下载资源
问答
  • Android Studio查看Android源码
    千次阅读
    2022-01-20 01:48:03

    最近在折腾面试,然后就有些组件的原理需要看源码,之前也弄过,都是用的Source Insight在win10里面搞的,今天试了一下Mac,源码60G,我这个版本是Android 11,目前是最新版的代码。

    用AS看源码首先要构建项目配置文件,就是ipr和iml工具,用到Android源码里面的idegen工具,但是你用官方的mmm命令方法会报错,说文件格式不对,本来是可以用mmm命令直接生成的,但是Mac的文件系统跟官方要求的有问题,所以就放弃了,有想试试的同学可以执行下面的命令。

    cd ~/aosp //具体的源码根目录
    source build/envsetup.sh //用于初始化环境变量
    mmm development/tools/idegen/  //生成文件out/host/linux-x86/framework/idegen.jar
    ./development/tools/idegen/idegen.sh//源码根目录生成文件android.ipr(工程相关设置), android.iml(模块相关配置)

    反正我这条路没走通,用的野路子。

    首先把目录切到development/tools/idegen/src下面,这样比较方便。

    1、编译idegen的源码,把java文件编译成class文件

    javac *.java  //aosp/development/tools/idegen/src


    2、打包所有的class文件到可执行的jar文件中

    jar cvfe idegen.jar Main *.class
    


    3、把idegen.jar文件移动到android源码根目录
    /aosp/idegen.jar
    4、运行idegen.jar

    java -jar idegen.jar
    


    5、等待完成,成功后如下
    Read excludes: 9ms
    Traversed tree: 149984ms
    6、在android源码跟目录检查android.iml和android.ipr文件
    /aosp/android.iml
    /aosp/android.ipr
    7、用Android Studio打开ipr文件,等待AS构建索引文件,时间较慢

    由于目录比较大,我的AS还在运行,等运行完成,我再来更新一下文章,看看整个过程需要多久,还有遇到的问题。

    更多相关内容
  • ANDROID源码分析实录

    热门讨论 2016-01-11 09:52:11
    Android源码分析实录》共分为15章,主要内容包括走进Android世界、硬件抽象层详解、分析JNI(Java本地接口)层、Android内存系统分析、Andmid虚拟机系统详解、IPC通信机制详解、Zygote进程/System进程和应用程序...
  • android源码设计模式解析与实战.pdf下载 完整版高清

    千次下载 热门讨论 2016-12-02 19:35:05
    本书从Android源码的角度由浅入深地剖析设计模式的运用,让工程师们把设计与模式重视起来,提升自己的设计能力与代码质量。因此本书适合的读者为初、中、高级Android工程师。另外,设计思想都是相通的,其他领域的...
  • Android 源码编译步骤实录

    千次阅读 2022-04-02 16:35:23
    Android源码编译流程

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    新公司入职,领了新的Linux电脑,身为一名光荣的Android开发者,电脑上Android源码肯定得有一套的,所以借此契机,整理一套Android源码下载与编译基本流程。当然Google官方已经整理得很详细了,详参Google开发者流程。废话不多说,直接开干


    一、系统环境

    系统:Ubuntu18.04 LTS

    二、Linux换源

    这一步主要是将Ubuntu系统默认的源换成国内的镜像源,推荐清华源,他们官方文档写得很详细

    1.备份并替换默认源文件

    一名合格的程序员都会为自己留一条后路,记得备份原本的默认源文件:Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用清华源的软件源镜像。

    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    
    # 预发布软件源,不建议启用
    # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    

    文件内容替换完成后Update一下

    sudo apt-get update
    

    三、基本环境安装

    1、repo下载安装

    mkdir ~/bin
    PATH=~/bin:$PATH
    curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
    chmod a+x ~/bin/repo
    

    这里使用的是清华源的git-repo文件地址,如果提示curl命令找不到,请按Linux提示安装curl,也可以直接暴力点击进入https://mirrors.tuna.tsinghua.edu.cn/git/git-repo进行下载

    repo的运行过程中会尝试访问官方的git源更新自己,如果想使用tuna的镜像源进行更新(推荐),可以将如下内容复制到你的~/.bashrc

    export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
    

    2、git安装

    sudo apt-get install git
    

    配置自己Git用户名和邮箱

    git config --global user.name "your_name"
    git config --global user.email "your_email"
    

    3、python3安装

    注:源码下载需要python3版本支持

    sudo apt-get install python3
    

    四、使用repo下载Android源码

    创建源码本地保存路径

    mkdir AOSP
    cd AOSP
    

    初始化代码仓库

    repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-security-9.0.0_r76
    

    -b后面跟的是Android版本,详见Android版本列表选择自己想要下载的Android版本

    同步源码树(以后只需执行这条命令来同步)

    repo sync -c -d --no-tag
    

    接下来等待源码下载完成就可以啦(这个过程很漫长)
    注:如果在初始化代码仓库的时候报SSL协议的CA证书问题,就把上面所有https的地址换成http就好,然后把代码仓库里的.repo文件夹删除,再初始化。当然这是最暴力的手段,官方还是推荐使用https协议下载源码的,安全!!!

    五、源码编译

    1、编译环境准备

    sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
    

    如果存在部分安装失败,可以尝试将镜像源文件里的注释给解开,update后再试。或者运行sudo apt-get install -f自动卸载未安装的软件。
    这是Ubuntu18.04的环境,官方也给出了其他Ubuntu版本的环境安装命令。
    Ubuntu14.04:

    sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip
    

    Ubuntu12.04:

    sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
    sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
    

    Ubuntu10.04-11.10:

    sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc
    

    在 Ubuntu 10.10 中,请运行以下命令:

    sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
    

    在 Ubuntu 11.10 中,请运行以下命令:

    sudo apt-get install libx11-dev:i386
    

    2、python2安装

    注:这里比较坑的是,源码下载要用python3,源码编译要用python2(裂开)

    sudo apt-get install python2.7
    

    安装完之后得配置一下python版本的优先级

    # 进入ubuntu 软件安装的文件夹
    cd /usr/bin/
    # 过滤 python,查看python各版本文件名路径
    ll | grep python
    # 配置优先级,150>100
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 150
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 100
    # 查看当前默认 python 版本,确认优先级是否配置成功
    python --version
    # 显示是python2.x就成功了
    

    3、开始编译

    进入本地代码路径

    cd AOSP
    # clean一遍
    make clobber
    # 开始民工三连
    source build/evnsetup.sh
    lunch
    # 这时候需要选择一个镜像编译版本,根据你的需求和机型来,输入版本前面对应的数字序号
    1
    # 整编,-j参数根据你的cpu线程数自己决定
    make -j8
    

    理想情况下几个小时后就收到编译成功的通知了~

    单编的话就进入到子模块目录(带Android.mk文件目录)下mm -j8就好

    总结

    文章只是整理了部分步骤,还有很多的不足,请谅解

    展开全文
  • Android源码 目录

    千次阅读 2022-04-25 12:42:49
    instruction:Master-android - eLinux.org 文件夹名 内容 art 全新的ART运行环境 bionic 系统C库 bootable 系统启动引导代码 build 存放Android系统编译规则,以及generic等基础开发配置包...

    1. 根目录

    instruction:Master-android - eLinux.org

    文件夹名内容
    art全新的ART运行环境
    bionic系统C库
    bootable系统启动引导代码
    build存放Android系统编译规则,以及generic等基础开发配置包。
    ctsAndroid 兼容性测试套件标准
    dalvikDalvik虚拟机
    developers开发者目录,包含构建App和一些demo代码
    development与应用成虚开发相关
    device设备相关配置
    docs参考文档目录
    external开源模组相关文件,一些开源第三方组件,例如:glide、junit、dagger2等
    frameworks应用程序框架,Android系统核心部分,由Java和C++编写
    hardware主要包含了 android HAL(硬件抽象层)相关代码。硬件抽象层介于 Linux内核驱动程序与 Android 系统之间。对 Linux 驱动进行了封装,使操作系统级别可以忽略底层实现的细节
    libcore核心库相关文件
    libnativehelper动态库,实现JNI库的基础
    out编译完成后生成的所有都在这里
    pdkPlatform Development kit的缩写,平台开发套件,仅包含了一些供硬件抽象层开发使用的必要组件,供一些 OEM 厂商用来适配及测试最新的Android 系统,加快第三方厂商的更新速度。
    加快OEM厂商的update速度
    platform_testing平台测试
    prebuiltsx86和ARM架构下预编译的一些资源
    sdksdk和模拟器
    packages系统应用程序包
    system底层文件系统库,应用和组件
    toolchain工具链文件
    tools工具文件
    vendor包含不同供应商的私有的二进制库
    makefile全局Makefile文件,用来定义编译规则

    2.Bootable

    文件夹名内容
    libbootloader为boot引导系统启动
    recovery恢复模式系统,系统升级等等

    frameworks 应用框架层

    应用框架层是系统的核心部分,向上提供接口给应用层调用,向下与c/c++程序库以及硬件抽象层衔接,其主要实现代码在frameworks/base 和 frameworks/av下

    frameworks/base

    文件夹名内容文件夹名内容
    api定义apicmds重要命令:am\app_procee等
    core核心库data字体和声音等文件
    docs文档graphics与图形图像相关
    include头文件keystore与数据签名证书相关
    libslocation地理位置相关
    media多媒体库native本地库
    nfc-extras与NFC相关obex蓝牙传输
    opengl2D/3D图形APIpackages设置TTS、VPN程序
    saxxml解析器services系统服务
    telephony电话通信管理test-runner测试工具相关
    tests与测试相关tools工具
    vr与VR相关wifiwifi无线网络

    3.packages应用层部分

    文件夹名内容
    apps核心应用程序,例如:蓝牙、浏览器、相机、邮件、音乐、NFC
    experimental第三方应用程序
    inputmthods输入法目录
    providers内容提供目录,例如:MediaProvider、DownloadProvider、MmsProvider
    screensavers屏幕保护目录
    services通信服务
    wallpapers墙纸

    4.C/C++程序库部分

    系统运行库层native中C/C++程序库类型繁多,功能强大,他们并不完全在一个目录中,这里是几个C/C++的重要的程序库所在的目录位置

    目录位置内容
    bionicGoogle开发的系统C库,以BSD许可形式开源
    frameworks/av/media系统媒体库
    frameworks/native/opengl第三方图形渲染库
    frameworks/native/serevices/surfaceflinger图形显示库,负责图形渲染、叠加、绘制等
    external/sqlite轻量级关系型数据库SQLite的C++实现

    5. out目录

    5.1  .module_paths目录

    在/build/soong/cmd/soong_ui/main.go中的main函数中调用build.FindSources(buildCtx, config, f)

    在device、vendor、product目录中查找AndroidProducts.mk文件。并将所有的名为AndroidProducts.mk文件路径记录在AndroidProducts.mk.list中。这函数的作用不止如此,还会查找Android.mk、Android.bp、CleanSpec.mk等文件

    5.Android架构层级和代码目录的大致对应关系

    架构层级代码目录
    Application层packages/apps/
    Framework层framewordks/
    Libraries层运行库libraries--bilnic/
    Android Runtime  art/  dalvik/  libcore/
    HAL层hardware/
    Linux Kenelkernel/

    展开全文
  • Android 源码下载并编译Rom

    千次阅读 2021-11-20 16:39:31
    mkdir ~/android-repo cd ~/android-repo git clone https://aosp.tuna.tsinghua.edu.cn/git-repo/ chmod a+x git-repo/repo 然后添加repo(路径目录如:~/git-repo/repo)到PATH环境变量 export PATH=~/git-...

    1.repo工具下载及安装

    	mkdir ~/android-repo
    	cd ~/android-repo
    	git clone https://aosp.tuna.tsinghua.edu.cn/git-repo/
    	chmod a+x git-repo/repo
    

    然后添加repo(路径目录如:~/git-repo/repo)到PATH环境变量

        export PATH=~/git-repo:$PATH
    

    然后到打开 ~/git-repo/repo 文件,将 REPO_URL 替换为清华镜像地址,以避免下载 android 源码时可能出现的无法连接到 gerrit.googlesource.com 问题。

    	REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
    

    2.Android 源码下载

    首先创建一个自己存放源码的目录,cd 到对应的路径下执行下面命令:

    mkdir ~/android-repo/android-source
    cd ~/android-repo/android-source
    
    repo init --depth 1 -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.1.0_r52  (相当于 git init\clone )
    repo init --depth 1 -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-11.0.0_r43  如果不需要看以前的历史记录,设为1即可
    repo sync -c --no-tags -j4   其中 -c 表示只更新当前分支;--no-tags,不获取标签
    (这个过程时间较长,可能需要2个小时以上)
    

    注意:在 ubuntu 分配至少 250 G 空间

    3.Ubuntu 18.04 编译环境配置

    首先得配置 openjdk-8

        sudo apt-get install openjdk-8-jdk
        sudo apt-get install openjdk-8-jre
    

    然后配置在 ubantu 18.04 中编译 android 源码需要的一些依赖

    sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
    sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
    sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
    sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
    sudo apt-get install git-core gnupg flex bison gperf build-essential  
    sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
    sudo apt-get install libc6-dev-i386
    sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
    sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
    sudo apt-get install lib32z-dev ccache
    

    4、编译Android源码

    始化编译环境,命令

    	source build/envsetup.sh
    

    选择编译目标

        lunch aosp_arm64-eng
        或 lunch aosp_x86_64-eng
    

    开始编译与运行模拟器

        make -j32
        emulator
    

    5、相关错误说明

    (1)_nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME)

        export LC_ALL=C 
        export USER=$(whoami)
    

    (2) echo $PATH — 查看环境变量

        /etc/profile 中设定的变量(全局)的可以作用于任何用户,
         而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile 中的变量,他们是"父子"关系
        alias python='/usr/bin/python3.6'
        /usr/bin/env python  改成   /usr/bin/env python3
    

    在这里插入图片描述
    在这里插入图片描述

    6、参考文档:

    (1)在谷歌云上高速编译安卓AOSP ROM、驱动、内核并完成刷机
    (2)AOSP 源码编译及刷入Nexus 5
    (3)使用 Android 模拟器运行自定义 Rom

    展开全文
  • 一步一步教你如何在AndroidStudio查看Android源码(AOSP源码)
  • AS 打开android源码跳转

    千次阅读 2022-01-16 23:53:57
    https://www.jianshu.com/p/2ba5d6bd461e
  • 使用AndroidStudio查看并调试Android源码

    万次阅读 多人点赞 2018-11-04 19:08:42
    使用AndroidStudio查看并调试Android源码使用AndroidStudio查看并调试Android源码0.基础环境1. 操作系统2. Java3. Android源码1. 编译源码初始化编译环境AndroidP的终端检查源码AndroidO的终端检查源码选择编译目标...
  • Android源码编译过程及刷机过程详解

    万次阅读 2020-09-01 13:55:35
    本文将详细介绍Android源码编译过程,以及编译完成后如何进行刷机。
  • VSCode查看Android源码,从入门到放弃

    千次阅读 2022-01-23 00:46:15
    VSCode查看Android源码比较简单,首先下载Android源码,我用的Mac,所以比较方便,对了repo在homebrew里面就有,直接brew install repo就可以,但是版本比官方的略低,但是可以用,只是有警告。 下载之后直接用...
  • 在线查看android源码的地址

    千次阅读 2021-12-20 10:44:36
    记录 在线查看android源码的地址 安卓社区 AndroidXRef
  • android源码下编译jni示例项目代码

    热门讨论 2012-08-13 16:59:02
    android 2.0环境下编写的jni示例项目源码,实现了简单的四则运算
  • Ubantu18.04环境下编译android源码

    万次阅读 2018-08-19 10:52:01
    最近在看金泰延老师写的《Android 框架揭秘》一书,第一章就是下载并编译android源码,书中内容较为陈旧,所以不得不到网上收罗各种资料,最后总算是大功告成,现在总结如下。 1、安装git和repo并配置 安装git...
  • android源码全国城市选择列表Demo

    千次下载 热门讨论 2013-05-20 15:54:58
    android全国城市选择列表小demo,适合新手。 全国城市数据存在sqlite中,通过适当的规律自由选取相印城市。 适合新手参考,老鸟就直接飘过吧...
  • Android源码学习

    千次阅读 2018-09-08 16:54:53
    进阶学习的阶段,需要我们保持一颗好奇的心,深入阅读Android源码,学习优秀的代码风格和设计思想,知其然并且知其所以然。 引用Google的一张框架图: Applications层,和用户直接交互的就是这些应用程序,它们...
  • android 源码编译 模拟器emulator启动

    千次阅读 2022-01-28 19:45:19
    Android源代码编译成功之后,我们就可以运行它了。为了方便起见,我们使用Android模拟器emulator来运行编译出来的Android源代码。执行以下命令来启动Android模拟器: ~~~ USER@MACHINE:~/Android$ export PATH=$...
  • Mac编译Android源码9.0

    千次阅读 2019-02-28 14:44:25
    Mac编译Android源码9.0我的编译设备官方编译教程(有需要的可以自己看一下)一、搭建编译环境(创建磁盘映像) 我的编译设备 2017款mac pro 15 最低配(16G-256G-i7) 移动硬盘500G的 注:因为我下载的整个源码大概在...
  • android 8.1 源码下载(27)
  • Android源码在线查看网站

    万次阅读 2019-06-24 11:45:38
    安卓社区 https://www.androidos.net.cn/sourcecode (推荐) AndroidXRef http://androidxref.com/ 安卓特性(包括历史版本): https://developer.android.google.cn/
  • 了解Android文件目录是开发的基础,也是对后续打下基础。 abi(Application Binary Interface) 应用程序二进制接口,就是abi架构,定义了一套规则,决定了二进制文件如何与系统进行交互。 常见的abi架构有 armeabiv...
  • Android源码编译:openjdk安装

    千次阅读 2022-01-17 16:53:15
    Android O源码编译时,对openjdk的版本有要求,3.1.2版本会导致与jack服务socekt通信失败。建议切换为低版本的openjdk。 Android O -Jack错误导致编译失败_就是yying的博客-CSDN博客 1.首先查看当前openjdk的...
  • android:自己动手编译Android源码(超详细)

    万次阅读 多人点赞 2018-07-09 16:08:22
    自己动手编译Android源码(超详细) 涅槃1992 2016.06.20 02:12* 字数 43...
  • Android源码解析系列

    万次阅读 多人点赞 2016-02-19 10:33:42
    知乎上看了一篇非常不错的博文:有没有必要阅读ANDROID源码 看完之后痛定思过,平时所学往往是知其然然不知其所以然,所以为了更好的深入android体系,决定学习android framework层源码。这篇文章就是源码学习的汇总...
  • 国内android源码下载方法

    千次阅读 2020-09-05 18:43:41
    下载源码 repo sync 只下载部分源码 repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-6.0.1_r16完成后 可以先修改工程目录下 .repo/manifests/default.xml 只保留需要想...
  • 一:aar文件如何引用 系统Settings中引用bidehelper-...源码地址:packages/apps/Settings/Android.mk LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := \ $(call all-logtags-files...
  • 推荐几个Android源码在线查看的网站

    千次阅读 2019-11-20 22:14:36
    推荐几个在线可查看Android源码的网站,包括最近的Android 10源码哦 正文 http://androidxref.com/ http://aospxref.com/ https://www.androidos.net.cn/sourcecode 以上三个是个人比较喜欢用的,先说下...
  • mac下编译android源码避坑指南(新)

    千次阅读 2021-11-26 22:47:22
    截至目前最新android源码编译避坑指南配置(不说配置的都是耍流氓,因为真的有极特殊的大坑)os: macos11.3.1SDK: 10.15 [https://github.com/phracker/MacOSX-SDKs/releases]Java Version: 1.8android源码:android...
  • Android源码配置默认输入法

    千次阅读 2017-10-10 17:50:24
    Android源码修改默认输入法 关于配置默认输入法的包名和类名声明**郑重声明:博文为原创内容,可以转载或引用,但必须在明显位置标明原文作者和出处,未经同意不得擅自修改本文内容!博客地址:...
  • 自己动手编译最新Android源码及SDK

    千次阅读 2017-06-04 11:49:16
    现在我们来谈谈android源码编译的一些事.(俺认为,作为android developer人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解). 本文适用于Ubuntu 16.04上编译Android 6.0...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 506,973
精华内容 202,789
关键字:

android源码

友情链接: csbcj.rar