• m:编译整个安卓系统 ...mm:编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的Android.mk文件。  builds all of the moudles in the current directory  mma:

    一、android 源码的m、mm、mmm编译命令的使用


    m:编译整个安卓系统

         makes from the top of the tree

    mm:编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的Android.mk文件。

             builds all of the moudles in the current directory

             mma:当前目录新增或删除文件后,可以用mma重新编译。

    mmm:编译指定路径下的模块,指定的路径下面需要有Android.mk这个makefile文件



    二、重新打包android系统镜像文件。

         执行make snod 命令,即可重新打包android系统镜像文件system.img。


      

      



    展开全文
  • 在国内下载Android可是不太容易,不过从Google断断续续地下载了几天源码后发现清华大学有个TUNA镜像源可以下载Android源码,甚是方便。 参考网站: http://source.android.com/index.html ...

    在国内下载Android可是不太容易,不过从Google断断续续地下载了几天源码后发现清华大学有个TUNA镜像源可以下载Android源码,甚是方便。

    参考网站:

    http://source.android.com/index.html

    https://aosp.tuna.tsinghua.edu.cn/

     

    一.环境准备:

    现在Android源码的下载和编译在Linux和Mac OS上都可以了,但Mac OS上设置略微复杂点,所以我选择了Ubuntu 14.04 64位的虚拟机。(硬盘建议50G以上,编译的时候给虚拟机加大CPU和内存。)

    编译Gingerbread (2.3.x) 及其以上的源码需要64位的系统,以下的可以在32位系统上编译。

    1.Java下载和配置

    Java 7:适用最新版的源码:

    1
    2
    $ sudo apt-get update
    $ sudo apt-get install openjdk-7-jdk

    如果系统上有多个Java版本,可以设置默认的:

    1
    2
    $ sudo update-alternatives --config java
    $ sudo update-alternatives --config javac

    Java 6: 适用于Gingerbread(2.3)~ KitKat(4.4)
    Java 5:适用于 Cupcake(1.5)~ Froyo(2.2)

    如果Java安装失败可到Java官网下载后自行安装,略去不表。

    2.其它依赖包:

    1
    $ sudo apt-get install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip

    如果是Ubuntu 12.04:

    1
    2
    3
    4
    5
    6
    $ 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

    如果是Ubuntu 10.04 — 11.10:

    1
    2
    3
    4
    5
    $ 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

    11.10:

    1
    $ sudo apt-get install libx11-dev:i386

    10.04:

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

    二、下载源码

    1.下载repo:

    repo是Google基于Git推出的一款版本管理工具,用python写的。

    先配置目录:

    1
    2
    $ mkdir ~/bin
    $ PATH=~/bin:$PATH

    下载repo并赋予其可执行权限:

    1
    2
    $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    $ chmod a+x ~/bin/repo

    当然由于众所周知的原因,我们往往无法把repo下到本地。这里提供一个我下载并修改好的下载链接:http://jiezhiblog.com/wp-content/uploads/2015/04/repo1.txt

    (wp的限制,只能把repo重命名为repo.txt,下载后改回repo即可)

    下载放到~/bin目录下,并修改权限即可:

    1
    chmod a+x repo

     

    2.初始化repo

    进入放置源码的目录,如:

    1
    2
    $ mkdir ~/android/android 4.3_r1
    $ cd ~/android/android 4.3_r1

    关键的来了,如果想体验好点,建议国内的从清华大学的镜像源下载:

    1
    $ repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest

    或者指定要下载的分支:

    1
    $ repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-4.3_r1

    完成后即可和服务器同步了:

    1
    $ repo sync

    该服务器限制了每个IP并发数,也就是你可以使用:

    1
    $ repo sync -j4

    设置并发数为4.,给别人留有余地。

    现在应该在从服务器下载源码了,但是如果中途有中断了,继续执行repo sync即可。

    如何让repo自动在断开后自动下载:

    新建autorepo.sh:

    1
    2
    3
    4
    5
    6
    #!/bin/sh
    repo sync
    while [ $? -ne 0 ]
    do
    repo sync
    done

    然后执行即可:

    1
    $ sh autorepo.sh

    如果你之前已经下载了部分AOSP的代码的话,切换到TUNA服务器也很方便,如官网所示:

    如果你之前已经通过某种途径获得了 AOSP 的源码(或者你只是 init 这一步完成后), 你希望以后通过 TUNA 同步 AOSP 部分的代码,只需要将 .repo/manifest.xml 把其中的 aosp 这个 remote 的 fetch 从 https://android.googlesource.com 改为 git://aosp.tuna.tsinghua.edu.cn/android/

    1
    2
    3
    4
    5
    6
    7
    8
    <manifest>
     
       <remote  name="aosp"
    -           fetch="https://android.googlesource.com"
    +           fetch="git://aosp.tuna.tsinghua.edu.cn/android/"
                review="android-review.googlesource.com" />
     
       <remote  name="github"

    这个方法也可以用来在同步 Cyanogenmod 代码的时候从 TUNA 同步部分代码

     三、编译:

    当源码下载后,可以看到目录里多出很多源码文件夹:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    [aosp@myserver android4.1_r1]$ ls -hl
    total 100K
    drwxrwxr-x   3 aosp aosp 4.0K Apr  7 11:27 abi
    drwxrwxr-x   9 aosp aosp 4.0K Apr  7 11:27 bionic
    drwxrwxr-x   5 aosp aosp 4.0K Apr  7 11:27 bootable
    drwxrwxr-x   7 aosp aosp 4.0K Apr  7 11:27 build
    drwxrwxr-x  11 aosp aosp 4.0K Apr  7 11:27 cts
    drwxrwxr-x  18 aosp aosp 4.0K Apr  7 11:27 dalvik
    drwxrwxr-x  19 aosp aosp 4.0K Apr  7 11:27 development
    drwxrwxr-x  10 aosp aosp 4.0K Apr  7 11:27 device
    drwxrwxr-x   3 aosp aosp 4.0K Apr  7 11:27 docs
    drwxrwxr-x 144 aosp aosp 4.0K Apr  7 11:29 external
    drwxrwxr-x  14 aosp aosp 4.0K Apr  7 11:32 frameworks
    drwxrwxr-x  10 aosp aosp 4.0K Apr  7 11:32 gdk
    drwxrwxr-x  10 aosp aosp 4.0K Apr  7 11:32 hardware
    drwxrwxr-x  11 aosp aosp 4.0K Apr  7 11:32 libcore
    drwxrwxr-x   4 aosp aosp 4.0K Apr  7 11:32 libnativehelper
    -r--r--r--   1 aosp aosp   87 Apr  7 11:27 Makefile
    drwxrwxr-x   8 aosp aosp 4.0K Apr  7 11:32 ndk
    drwxrwxr-x   4 aosp aosp 4.0K Apr  7 14:28 out
    drwxrwxr-x   7 aosp aosp 4.0K Apr  7 11:33 packages
    drwxrwxr-x   4 aosp aosp 4.0K Apr  7 11:33 pdk
    drwxrwxr-x  12 aosp aosp 4.0K Apr  7 11:33 prebuilt
    drwxrwxr-x   9 aosp aosp 4.0K Apr  7 11:34 prebuilts
    drwxrwxr-x  48 aosp aosp 4.0K Apr  7 11:34 sdk
    drwxrwxr-x   9 aosp aosp 4.0K Apr  7 11:34 system

    如果你准备在模拟器里运行,则按照如下步骤编译即可,如果你想刷到手机上则还有一些任务要做(见第四步)。

     

    0.其中由于配置问题,我的代码是放在服务器上编译的:

    由于.repo这个隐藏文件夹里的文件占用空间很大,所以在压缩的时候将其排除:

    1
    $ tar -zcvf android4.3_r1.tar.gz android4.3_r1/ --exclude .repo

    然后利用scp命令将压缩好的文件上传到服务器:

    1
    $ scp android4.3_r1.tar.gz username@host:/home/android/

    其中username和host是你用户名和服务器地址。

    解压:

    1
    $ tar -zxvf android4.3_r1.tar.gz /

     

    1.初始化:

    1
    $ source build/envsetup.sh

    2.使用lunch命令选择编译目标,如:

    1
    $ lunch aosp_arm-eng

    或者直接lunch,会让你选择编译目标的。

    其中参数说明:

    BUILD NAME DEVICE NOTES
    aosp_arm ARM emulator 包括所有语言、APP和输入法的配置
    aosp_maguro maguro 运行在Galaxy Nexus GSM/HSPA+ ("maguro")上
    aosp_panda panda  运行在 PandaBoard ("panda")上
    BUILDTYPE USE
    user limited access; suited for production(有权限限制,适合产品级)
    userdebug preferred for debugging(适合调试)
    eng development configuration with additional debugging tools(有额外的调试工具)

    3.编译

    1
    $ make -j4

    -jN表示用N个线程来编译,如果你是配置是2CPU,每个CPU有4核,每核可跑俩线程,那么你可以make -j16乃至-j32,这样速度将大大加快。.

    4.成功

    在android4.3_r1/out/target/product/generic目录下可以看到如下文件:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    [aosp@myserver generic]$ ls -lh
    total 205M
    -rw-rw-r--  1 aosp aosp    7 Apr  7 14:49 android-info.txt
    -rw-rw-r--  1 aosp aosp  25K Apr  7 14:48 clean_steps.mk
    drwxrwxr-x  4 aosp aosp 4.0K Apr  7 15:19 data
    drwxrwxr-x  3 aosp aosp 4.0K Apr  7 15:18 dex_bootjars
    -rw-rw-r--  1 aosp aosp  47K Apr  7 15:27 installed-files.txt
    drwxrwxr-x 14 aosp aosp 4.0K Apr  7 15:27 obj
    -rw-rw-r--  1 aosp aosp  557 Apr  7 14:48 previous_build_config.mk
    -rw-rw-r--  1 aosp aosp 163K Apr  7 15:18 ramdisk.img
    drwxrwxr-x  8 aosp aosp 4.0K Apr  7 15:18 root
    drwxrwxr-x  5 aosp aosp 4.0K Apr  7 15:18 symbols
    drwxrwxr-x 12 aosp aosp 4.0K Apr  7 15:27 system
    -rw-------  1 aosp aosp 204M Apr  7 15:27 system.img
    drwxrwxr-x  3 aosp aosp 4.0K Apr  7 15:05 test
    -rw-------  1 aosp aosp  99K Apr  7 15:19 userdata.img

    四、刷机

    1.模拟器的话,其实直接运行emulator即可运行:

    由于不涉及内核,我的做法是把ramdisk.img、system.img和userdata.img复制到sdk/system-images/android-18/default/armeabi-v7a/目录下替换掉原来的文件。(可以把原来的先备份)

    然后新建对应的API虚拟机,运行即可。

     

    2.真机

    真机我是用Google三太子Galaxy Nexus [maguro] (GSM/HSPA+)做的实验,毕竟亲儿子,驱动方面都很好配置。

    a.在第三步编译之前,先把驱动配置好:

    然后按照第三步编译即可。

    b.连接手机,打开USB调试,进入bootloader模式:

    1
    $ adb reboot bootloader

    如果bootloader被锁住的话,先解锁:

    1
    $ fastboot oem unlock

    然后进入system.img等文件的目录:

    1
    2
    3
    $ fastboot flash boot boot.img
    $ fastboot flash system system.img
    $ fastboot flash userdata userdata.img

    然后重启即可。

    本文首发地址:http://jiezhiblog.com/archives/187
    展开全文
  • 第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了。以后如果我们修改Android源代码中的某个模块或者在Android源...

          第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了。以后如果我们修改了Android源代码中的某个模块或者在Android源代码工程新增一个自己的模块,是不是还是执行make命令呢?答案是否定的,Google为我们准备了另外的命令来支持编译单独的模块,以及重新打包system.img的命令。在继续学习Android源代码之前,就让我们先来看看这个命令吧。

    《Android系统源代码情景分析》一书正在进击的程序员网(http://0xcc0xcd.com)中连载,点击进入!

          一. 首先在Android源代码目录下的build目录下,有个脚本文件envsetup.sh,执行这个脚本文件后,就可以获得一些有用的工具:

          USER-NAME@MACHINE-NAME:~/Android$ .  ./build/envsetup.sh

          注意,这是一个source命令,执行之后,就会有一些额外的命令可以使用:

          - croot: Changes directory to the top of the tree.

          - m: Makes from the top of the tree.
          - mm: Builds all of the modules in the current directory.
          - mmm: Builds all of the modules in the supplied directories.
          - cgrep: Greps on all local C/C++ files.
          - jgrep: Greps on all local Java files.
          - resgrep: Greps on all local res/*.xml files.
          - godir: Go to the directory containing a file.
          这些命令的具体用法,可以在命令的后面加-help来查看,这里我们只关注mmm命令,也就是可以用它来编译指定目录的所有模块,通常这个目录只包含一个模块。
          二. 使用mmm命令来编译指定的模块,例如Email应用程序:
          USER-NAME@MACHINE-NAME:~/Android$ mmm packages/apps/Email/
          编译完成之后,就可以在out/target/product/generic/system/app目录下看到Email.apk文件了。Android系统自带的App都放在这具目录下。另外,Android系统的一些可执行文件,例如C编译的可执行文件,放在out/target/product/generic/system/bin目录下,动态链接库文件放在out/target/product/generic/system/lib目录下,out/target/product/generic/system/lib/hw目录存放的是硬件抽象层(HAL)接口文件,后面的文章里面,我们会陆续提及到,敬请关注。
          三. 编译好模块后,还要重新打包一下system.img文件,这样我们把system.img运行在模拟器上时,就可以看到我们的程序了。
          USER-NAME@MACHINE-NAME:~/Android$ make snod
          四. 参照Ubuntu上下载、编译和安装Android最新源代码一文介绍的方法运行模拟器:
          USER-NAME@MACHINE-NAME:~/Android$ emulator
          这样一切就搞定了。
    老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注!
    展开全文
  • android 修改te编译

    2020-04-22 10:15:58
    android 7 修改te,编译 make bootimage。

    android 7
    修改te,编译 make bootimage。

    展开全文
  • 编译 Android编译工具链:Jack+ninja 问题:Jack没法多用户同时编译, Google( Communication error with Jack server ):https://code.google.com/p/android/issues/detail?id=194027 编译失败信息: No ...

    编译

    Android编译工具链:Jack+ninja

    问题:Jack没法多用户同时编译,

    Google( Communication error with Jack server ):https://code.google.com/p/android/issues/detail?id=194027

    编译失败信息:

    No Jack server running. Try 'jack-admin start-server'
    ninja: build stopped: subcommand failed.
    18:24:23 ninja failed with: exit status 1
    make: *** [run_soong_ui] Error 1

    #### make failed to build some targets (02:01:51 (hh:mm:ss)) ####

    只要有一个人已经编译过Android的code了,其他人就没法编译了,因为编译完了jack的端口也是不会释放的。

    如果编译失败 可以通过 jack-admin list-server 看当前是否有人已占用了server的jack端口

    这个时候可以要求占有者 通过 jack-admin kill-server来释放这个端口。

    解决办法:

    jack 默认的 service port是8076,admin port是8077

    1. 修改vi ~/.jack-settings 文件中两个端口号

    SERVER_PORT_SERVICE=8076
    SERVER_PORT_ADMIN=8077

    2. 修改 vi ~/.jack-server/config.properties 文件中两个端口号(这个文件在编译一次后会自己生成,如果没有这个文件,先编译一次源码,报错后再修改)(端口号改成的数值不能和其他人一样,否则会有问题)

    jack.server.service.port=xxxx

    jack.server.admin.port=xxxx

    1和2修改的端口号要统一

    修改后通过jack-admin list-server,就可以看到同时有多个jack server了。

    首先确认编译的java版本,设置环境变量(source build/envsetup.sh),lunch对应的版本(user版本不支持root权限,开发者一般使用user-debug版本),make otapackage -jx(x表示使用多少线程资源编译)

    烧录

    用两个接头以及一条四根的排线制作一个串口板连接线. 连线时要保证引脚一一对应, 即开发板上的GND连接到串口板的GND, 开发板TX连接到串口板TX, 开发板RX连接到串口板RX, 开发板VCC连接到串口板VCC.
    注 : 部分板子焊接/布线等可能存在差异, 必要时可尝试交换TX/RX看是否可以正常使用串口.

    开发板重新烧写系统镜像:

    安装CP2102串口驱动,

    1、“reboot”命令系统重启,使用 “Enter or CTRL+C”中断在U-boot阶段。
    2、使用“store scrub 0”擦除Flash(这个指令会擦除nand原厂标识,谨慎使用)或者在U-boot下输入"update"命令,此时在设备管理器中会出现一个名为libusb-win32 Usb Devices的设备组

    3、使用烧写线连接开发板与PC,使用USB烧写工具进行镜像烧录,烧录完成后重启即可。

    笔者使用“store scrub 0”擦除Flash后进行第三步出现过USB烧录工具检测不到开发板的问题,并且开发板上电一直是亮红灯,表示当前已经是空板状态。(挺吓人的,意为还要使用JTAG工具重新烧录初始化镜像文件),后面电脑重启,再连接USB烧录线,打开USB烧录工具,结果检测到连接成功,直接烧录系统镜像即可。

    调试

    使用外接显示器进行系统调试时,即便有遥控器并连接鼠标,仍不便进行编辑框输入,可以使用adb shell指令“input”辅助调试。

    input
    Usage: input [<source>] <command> [<arg>...]

    The sources are:
          keyboard
          mouse
          joystick
          touchnavigation
          touchpad
          trackball
          dpad
          stylus
          gamepad
          touchscreen

    The commands and default sources are:
          text <string> (Default: touchscreen)
          keyevent [--longpress] <key code number or name> ... (Default: keyboard)
          tap <x> <y> (Default: touchscreen)
          swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
          press (Default: trackball)
          roll <dx> <dy> (Default: trackball)


     填充编辑框命令示例:input text This is a Test String.

    回到主页面可以使用指令“input keyevent 3”
    几个最常用的KEYCODE如下:
    3 -->  "KEYCODE_HOME"主页键
    4 -->  "KEYCODE_BACK" 返回键
    19 -->  "KEYCODE_DPAD_UP" 导航键-上
    20 -->  "KEYCODE_DPAD_DOWN" 导航键-下
    21 -->  "KEYCODE_DPAD_LEFT" 导航键-左
    22 -->  "KEYCODE_DPAD_RIGHT"导航键-右
    62 -->  "KEYCODE_SPACE" 空格键
    66 -->  "KEYCODE_ENTER" Enter键,确认
    67 -->  "KEYCODE_DEL" 回退键,删除
    82 -->  "KEYCODE_MENU"菜单键

    更多KEYCODE按键作用可参照https://blog.csdn.net/feizhixuan46789/article/details/16801429

    通过input tap命令模拟触摸屏幕:input tap 600 800  在屏幕X坐标600,Y坐标800触发点击事件。

    input swipe模拟滑动事件,input swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen),需要将起始的坐标传入。

    input swipe 600 800 300 800(向左滑动)input swipe 300 800 600 800 (向右滑动)

    adb shell命令“am”也可以做许多操作:

    拨打电话:am start -a android.intent.action.CALL -d tel:10086

    打开网站:am start -a android.intent.action.VIEW -d http://www.baidu.com

    播放音视频:am start -a android.intent.action.VIEW -d   "file:///sdcard/Movies/欧若拉-张韶涵.mp4" -t "video/*" 

    关机指令:poweroff

    抓取后台应用运行日志信息:logcat -c;logcat

    展开全文
  • AOSP编译 分模块编译编译 Android源码编译 预装APP到系统中 取得ROOT权限
  • 在前面一篇文章中,我们分析了Android模块的编译过程。当Android系统的所有模块都编译好之后,我们就可以对编译出来的模块文件进行打包了。打包结果是获得一系列的镜像文件,例如system.img、boot.img、ramdisk.img...
  • Mac编译Android源码9.0

    2019-03-04 09:00:11
    Mac编译Android源码9.0我的编译设备官方编译教程(有需要的可以自己看一下)一、搭建编译环境(创建磁盘映像) 我的编译设备 2017款mac pro 15 最低配(16G-256G-i7) 移动硬盘500G的 注:因为我下载的整个源码大概在...
  • 因为我的电脑是Ubuntu18的版本,成功编译xposed刷入手机之后无法启动,检查了所有的环境,没有问题,发现可能是Ubuntu系统的兼容库的问题,但是我不可能重新安装系统吧,毕竟有点蠢,所以最好的方式就是在docker的...
  • 文章不错, 包含了docker的常用方法, 建立android源码编译环境, 和在docker中编译android源码. 以后准备在docker里建立android/chorme编译环境, 这样不管是在mac下还是在windows下, 都很方便. 1.安装Docke...
  • 一些废话 网上教程都是在Linux上编译,然后在Linux上运行。...Android源码编译完后在out/target/product/{设备目录}下会有编译好的镜像文件,我们需要的是system-qemu.img,ramdisk.img, vender-q...
  • 最近进行Andorid性能优化的前期调研,后面要修改Andorid源代码插一些桩,提前把编译环境搞起来。官方推荐使用ubuntu,公司网络限制等等不好弄,所以尝试在Windows开发机上使用docker,虚拟化ubuntu出来进行编译。...
  • 自己动手编译Android源码(超详细) 涅槃1992 2016.06.20 02:12* 字数 43...
  • 1 前言经过3天奋战,终于在Ubuntu 16.04上把Android 6.0的源码编译出来了,各种配置,各种error,各种爬坑,特写此博客记录爬坑经历。先上图,Ubuntu上编译完后成功运行模拟器,如图:2 编译环境 UbuntuKylin 16.04 ...
  • 本文说明如何在Ubuntu 16.04(64位)上编译Android最新主线代码,介绍如何下载代码、建立编译环境、编译代码。  实验编译的是2016-05-18的AOSP主线代码。 1、关于编译Android 参考:  ...
  • 作为android developer人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解。 android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.
  • 最近在看金泰延老师写的《Android 框架揭秘》一书,第一章就是下载并编译android源码,书中内容较为陈旧,所以不得不到网上收罗各种资料,最后总算是大功告成,现在总结如下。 1、安装git和repo并配置 安装git...
  • 正因为如此我着手使用android7.0的源码编译一个镜像,然后下载后运行成功,同样有点美中不足,就是应用太少(只有setting 和浏览器),安装软件很不方便,后面的正在学习和改进,下面将贴出我的android7.0编
  • 主要介绍一下源码编译输出的几个重要的镜像文件,这里把bootloader源码和Linux内核源码的编译输出也算在其中,因为毕竟Android系统缺少了这两个部分在设备上也是跑不起来的。   1. MLO, u-boot.img 任何操作系统...
  • 在Android Studio代码调试一文中,简单的介绍了代码调试的一些技巧.现在我们来谈谈android源码编译的一些事.(俺认为,作为android developer...本文适用于以下以下编译途径: Ubuntu 16.04上编译Android 6.0.x 及以上版本.
1 2 3 4 5 ... 20
收藏数 10,365
精华内容 4,146