Android 4.4.2 SDK的编译

上一篇文章讲到了Android 4.4.2源码下载及编译,接下来,准备将sdk编译起来。

编译sdk的步骤,如下所示:

  • cd ~/aosp -- 进入Android 源码目录下
  • source build/envsetup.sh -- 配置编译的环境
  • lunch sdk-eng -- 选择编译的sdk的类型
  • make sdk -j× -- 开始编译sdk,-j×代表编译的线程数(内核数 × 2)

在编译的过程中,可能会遇到各种各样的问题。下面是笔者遇到的4个问题及解决方案

  1. sdk/eclipse/scripts/create_all_symlinks.sh: line 285: cd: tools/base: No such file or directory
  • 解决方案:gedit sdk/eclipse/scripts/create_all_symlinks.sh -- 打开create_all_symlinks.sh文件,将其中用到的tools/base代码注释掉。如下图
    注释掉tools/base的代码块1

    注释掉的tools/base代码块2
  1. sdk/eclipse/scripts/create_all_symlinks.sh: 第295行: cd : tools/swt 没有那个文件或目录


    找不到tools/swt
  • 解决方案:gedit sdk/eclipse/scripts/create_all_symlinks.sh -- 打开create_all_symlinks.sh文件,将其中用到的tools/swt代码注释掉。如下图
    注释掉tools/swt的代码块1

    注释掉tools/swt的代码块2
  1. Error: ## unknown source 'testutils' to copy in 'sdk/eclipse/plugins/com.android.ide.eclipse.tests'


    找不到testutils
  • 解决方案:gedit ~/aosp/sdk/eclipse/scripts/create_all_symlinks.sh -- 打开编译sdk中用到的脚本文件,将其test代码块注释掉。如下图
    注释后的代码
  1. sdk/build/tools.atree:124 couldn't locate source file:/tools/base/templates/projects


    无法定位源文件/tools/base/templates/projects
  • 解决方案:gedit ~/aosp/sdk/build/tools.atree -- 打开tools.atree文件,将其中用到的tools/base代码块注释掉。如下图
    注释掉tools/base后的代码

解决完上面出现的问题后,重新执行编译步骤,编译成功后,会有如下打印,没有报error:

编译成功后的打印输出

cd ~/aosp/out/host/linux-x86/sdk/ -- 进入sdk的存放目录
ls -al -- 查看当前目录,如下图
编译成功后的sdk的存放目录结构

你可能感兴趣的:(Android 4.4.2 SDK的编译)