MIPS 平台 Android 移植过程记录1_编译环境搭建

在工作的空闲时间, 尝试着在公司的MIPS平台上移植了Android, 把之前记录的遇到的问题贴到blog上来, 做个记录.


1.设置上网代理

  /etc/apt/apt.conf, 在文件中添加下面的内容, 注意最后的 ";" 也是需要添加的, 否则会提示这个文件的结束字符不对
  Acquire::http:Proxy ”user:[email protected]:port/";


2. Installing the JDK
apt-get install openjdk-6-jdk(用main server才行, 用自动选的最佳的某个edu的server不行)

3. Installing required packages
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-dri:i386 \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386
 
  在64位上搭建环境会遇到问题.
  直接复制运行会出现如下错误:

下列软件包有未满足的依赖关系:
 libgl1-mesa-glx:i386 : 依赖: libglapi-mesa:i386 (= 8.0.4-0ubuntu0.6)
                        推荐: libgl1-mesa-dri:i386 (>= 7.2)
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

将里面的libgl1-mesa-glx:i386修改为 libgl1-mesa-dri:i386,运行后可以正常安装
 
4. 在home下的.bashrc文件中添加

export USE_CCACHE=1

5. install Repo
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

6. initializing a repo client
$mkdir ryan
$cd ryan
$ repo init -u https://android.googlesource.com/platform/manifest
要配置账号,需要用有效的gmail的邮箱
得到jieguoroot@Ubuntu4driverGP:~/ryan# repo init -u https://android.googlesource.com/platform/manifest
gpg: keyring `/root/.repoconfig/gnupg/secring.gpg‘ created
gpg: keyring `/root/.repoconfig/gnupg/pubring.gpg‘ created
gpg: /root/.repoconfig/gnupg/trustdb.gpg: trustdb created
gpg: key 920F5C65: public key "Repo Maintainer <[email protected]>" imported
gpg: key 692B382C: public key "Conley Owens <[email protected]>" imported
gpg: Total number processed: 2
gpg:               imported: 2  (RSA: 1)

Get https://gerrit.googlesource.com/git-repo
remote: Counting objects: 117, done
remote: Finding sources: 100% (117/117)
remote: Total 2883 (delta 1524), reused 2883 (delta 1524)
Receiving objects: 100% (2883/2883), 2.44 MiB | 274 KiB/s, done.
Resolving deltas: 100% (1524/1524), done.
From https://gerrit.googlesource.com/git-repo
 * [new branch]      maint      -> origin/maint
 * [new branch]      master     -> origin/master
 * [new branch]      stable     -> origin/stable
 * [new tag]         v1.0       -> v1.0
 * [new tag]         v1.0.1     -> v1.0.1
 * [new tag]         v1.0.2     -> v1.0.2
 * [new tag]         v1.0.3     -> v1.0.3
 * [new tag]         v1.0.4     -> v1.0.4
 * [new tag]         v1.0.5     -> v1.0.5
 * [new tag]         v1.0.6     -> v1.0.6
 * [new tag]         v1.0.7     -> v1.0.7
 * [new tag]         v1.0.8     -> v1.0.8
 * [new tag]         v1.0.9     -> v1.0.9
 * [new tag]         v1.1       -> v1.1
 * [new tag]         v1.10.0    -> v1.10.0
 * [new tag]         v1.10.1    -> v1.10.1
 * [new tag]         v1.10.2    -> v1.10.2
 * [new tag]         v1.10.3    -> v1.10.3
 * [new tag]         v1.10.4    -> v1.10.4
 * [new tag]         v1.11.0    -> v1.11.0
 * [new tag]         v1.11.1    -> v1.11.1
 * [new tag]         v1.12.0    -> v1.12.0
 * [new tag]         v1.12.1    -> v1.12.1
 * [new tag]         v1.12.10   -> v1.12.10
 * [new tag]         v1.12.11   -> v1.12.11
 * [new tag]         v1.12.12   -> v1.12.12
 * [new tag]         v1.12.13   -> v1.12.13
 * [new tag]         v1.12.14   -> v1.12.14
 * [new tag]         v1.12.15   -> v1.12.15
 * [new tag]         v1.12.16   -> v1.12.16
 * [new tag]         v1.12.2    -> v1.12.2
 * [new tag]         v1.12.3    -> v1.12.3
 * [new tag]         v1.12.3.1  -> v1.12.3.1
 * [new tag]         v1.12.4    -> v1.12.4
 * [new tag]         v1.12.5    -> v1.12.5
 * [new tag]         v1.12.6    -> v1.12.6
 * [new tag]         v1.12.7    -> v1.12.7
 * [new tag]         v1.12.8    -> v1.12.8
 * [new tag]         v1.12.9    -> v1.12.9
 * [new tag]         v1.2       -> v1.2
 * [new tag]         v1.3       -> v1.3
 * [new tag]         v1.3.1     -> v1.3.1
 * [new tag]         v1.3.2     -> v1.3.2
 * [new tag]         v1.4       -> v1.4
 * [new tag]         v1.4.1     -> v1.4.1
 * [new tag]         v1.4.2     -> v1.4.2
 * [new tag]         v1.4.3     -> v1.4.3
 * [new tag]         v1.4.4     -> v1.4.4
 * [new tag]         v1.5       -> v1.5
 * [new tag]         v1.5.1     -> v1.5.1
 * [new tag]         v1.6       -> v1.6
 * [new tag]         v1.6.1     -> v1.6.1
 * [new tag]         v1.6.10    -> v1.6.10
 * [new tag]         v1.6.10.1  -> v1.6.10.1
 * [new tag]         v1.6.10.2  -> v1.6.10.2
 * [new tag]         v1.6.2     -> v1.6.2
 * [new tag]         v1.6.3     -> v1.6.3
 * [new tag]         v1.6.4     -> v1.6.4
 * [new tag]         v1.6.5     -> v1.6.5
 * [new tag]         v1.6.6     -> v1.6.6
 * [new tag]         v1.6.7     -> v1.6.7
 * [new tag]         v1.6.7.1   -> v1.6.7.1
 * [new tag]         v1.6.7.2   -> v1.6.7.2
 * [new tag]         v1.6.7.3   -> v1.6.7.3
 * [new tag]         v1.6.7.4   -> v1.6.7.4
 * [new tag]         v1.6.7.5   -> v1.6.7.5
 * [new tag]         v1.6.8     -> v1.6.8
 * [new tag]         v1.6.8.1   -> v1.6.8.1
 * [new tag]         v1.6.8.10  -> v1.6.8.10
 * [new tag]         v1.6.8.11  -> v1.6.8.11
 * [new tag]         v1.6.8.2   -> v1.6.8.2
 * [new tag]         v1.6.8.3   -> v1.6.8.3
 * [new tag]         v1.6.8.4   -> v1.6.8.4
 * [new tag]         v1.6.8.5   -> v1.6.8.5
 * [new tag]         v1.6.8.6   -> v1.6.8.6
 * [new tag]         v1.6.8.7   -> v1.6.8.7
 * [new tag]         v1.6.8.8   -> v1.6.8.8
 * [new tag]         v1.6.8.9   -> v1.6.8.9
 * [new tag]         v1.6.9     -> v1.6.9
 * [new tag]         v1.6.9.1   -> v1.6.9.1
 * [new tag]         v1.6.9.2   -> v1.6.9.2
 * [new tag]         v1.6.9.3   -> v1.6.9.3
 * [new tag]         v1.6.9.4   -> v1.6.9.4
 * [new tag]         v1.6.9.5   -> v1.6.9.5
 * [new tag]         v1.6.9.6   -> v1.6.9.6
 * [new tag]         v1.6.9.7   -> v1.6.9.7
 * [new tag]         v1.6.9.8   -> v1.6.9.8
 * [new tag]         v1.7       -> v1.7
 * [new tag]         v1.7.1     -> v1.7.1
 * [new tag]         v1.7.2     -> v1.7.2
 * [new tag]         v1.7.3     -> v1.7.3
 * [new tag]         v1.7.3.1   -> v1.7.3.1
 * [new tag]         v1.7.4     -> v1.7.4
 * [new tag]         v1.7.4.1   -> v1.7.4.1
 * [new tag]         v1.7.4.2   -> v1.7.4.2
 * [new tag]         v1.7.4.3   -> v1.7.4.3
 * [new tag]         v1.7.5     -> v1.7.5
 * [new tag]         v1.7.6     -> v1.7.6
 * [new tag]         v1.7.6.1   -> v1.7.6.1
 * [new tag]         v1.7.7     -> v1.7.7
 * [new tag]         v1.7.7.1   -> v1.7.7.1
 * [new tag]         v1.7.7.2   -> v1.7.7.2
 * [new tag]         v1.7.7.3   -> v1.7.7.3
 * [new tag]         v1.7.7.4   -> v1.7.7.4
 * [new tag]         v1.7.7.5   -> v1.7.7.5
 * [new tag]         v1.7.7.6   -> v1.7.7.6
 * [new tag]         v1.7.8     -> v1.7.8
 * [new tag]         v1.7.8.1   -> v1.7.8.1
 * [new tag]         v1.7.8.2   -> v1.7.8.2
 * [new tag]         v1.8.0     -> v1.8.0
 * [new tag]         v1.8.1     -> v1.8.1
 * [new tag]         v1.8.2     -> v1.8.2
 * [new tag]         v1.9.0     -> v1.9.0
 * [new tag]         v1.9.1     -> v1.9.1
 * [new tag]         v1.9.2     -> v1.9.2
 * [new tag]         v1.9.3     -> v1.9.3
 * [new tag]         v1.9.4     -> v1.9.4
 * [new tag]         v1.9.5     -> v1.9.5
 * [new tag]         v1.9.6     -> v1.9.6
Get https://android.googlesource.com/platform/manifest
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404
Server does not provide clone.bundle; ignoring.
remote: Counting objects: 113, done
remote: Finding sources: 100% (113/113)
remote: Total 1393 (delta 315), reused 1393 (delta 315)
Receiving objects: 100% (1393/1393), 1.13 MiB | 304 KiB/s, done.
Resolving deltas: 100% (315/315), done.
From https://android.googlesource.com/platform/manifest
 * [new branch]      android-1.6_r1 -> origin/android-1.6_r1
 * [new branch]      android-1.6_r1.1 -> origin/android-1.6_r1.1
 * [new branch]      android-1.6_r1.2 -> origin/android-1.6_r1.2
 * [new branch]      android-1.6_r1.3 -> origin/android-1.6_r1.3
 * [new branch]      android-1.6_r1.4 -> origin/android-1.6_r1.4
 * [new branch]      android-1.6_r1.5 -> origin/android-1.6_r1.5
 * [new branch]      android-1.6_r2 -> origin/android-1.6_r2
 * [new branch]      android-2.0.1_r1 -> origin/android-2.0.1_r1
 * [new branch]      android-2.0_r1 -> origin/android-2.0_r1
 * [new branch]      android-2.1_r1 -> origin/android-2.1_r1
 * [new branch]      android-2.1_r2 -> origin/android-2.1_r2
 * [new branch]      android-2.1_r2.1p -> origin/android-2.1_r2.1p
 * [new branch]      android-2.1_r2.1p2 -> origin/android-2.1_r2.1p2
 * [new branch]      android-2.1_r2.1s -> origin/android-2.1_r2.1s
 * [new branch]      android-2.2.1_r1 -> origin/android-2.2.1_r1
 * [new branch]      android-2.2.1_r2 -> origin/android-2.2.1_r2
 * [new branch]      android-2.2.2_r1 -> origin/android-2.2.2_r1
 * [new branch]      android-2.2.3_r1 -> origin/android-2.2.3_r1
 * [new branch]      android-2.2.3_r2 -> origin/android-2.2.3_r2
 * [new branch]      android-2.2.3_r2.1 -> origin/android-2.2.3_r2.1
 * [new branch]      android-2.2_r1 -> origin/android-2.2_r1
 * [new branch]      android-2.2_r1.1 -> origin/android-2.2_r1.1
 * [new branch]      android-2.2_r1.2 -> origin/android-2.2_r1.2
 * [new branch]      android-2.2_r1.3 -> origin/android-2.2_r1.3
 * [new branch]      android-2.3.1_r1 -> origin/android-2.3.1_r1
 * [new branch]      android-2.3.2_r1 -> origin/android-2.3.2_r1
 * [new branch]      android-2.3.3_r1 -> origin/android-2.3.3_r1
 * [new branch]      android-2.3.3_r1.1 -> origin/android-2.3.3_r1.1
 * [new branch]      android-2.3.4_r0.9 -> origin/android-2.3.4_r0.9
 * [new branch]      android-2.3.4_r1 -> origin/android-2.3.4_r1
 * [new branch]      android-2.3.5_r1 -> origin/android-2.3.5_r1
 * [new branch]      android-2.3.6_r0.9 -> origin/android-2.3.6_r0.9
 * [new branch]      android-2.3.6_r1 -> origin/android-2.3.6_r1
 * [new branch]      android-2.3.7_r1 -> origin/android-2.3.7_r1
 * [new branch]      android-2.3_r1 -> origin/android-2.3_r1
 * [new branch]      android-4.0.1_r1 -> origin/android-4.0.1_r1
 * [new branch]      android-4.0.1_r1.1 -> origin/android-4.0.1_r1.1
 * [new branch]      android-4.0.1_r1.2 -> origin/android-4.0.1_r1.2
 * [new branch]      android-4.0.2_r1 -> origin/android-4.0.2_r1
 * [new branch]      android-4.0.3_r1 -> origin/android-4.0.3_r1
 * [new branch]      android-4.0.3_r1.1 -> origin/android-4.0.3_r1.1
 * [new branch]      android-4.0.4_r1 -> origin/android-4.0.4_r1
 * [new branch]      android-4.0.4_r1.1 -> origin/android-4.0.4_r1.1
 * [new branch]      android-4.0.4_r1.2 -> origin/android-4.0.4_r1.2
 * [new branch]      android-4.0.4_r2 -> origin/android-4.0.4_r2
 * [new branch]      android-4.0.4_r2.1 -> origin/android-4.0.4_r2.1
 * [new branch]      android-4.1.1_r1 -> origin/android-4.1.1_r1
 * [new branch]      android-4.1.1_r1.1 -> origin/android-4.1.1_r1.1
 * [new branch]      android-4.1.1_r2 -> origin/android-4.1.1_r2
 * [new branch]      android-4.1.1_r3 -> origin/android-4.1.1_r3
 * [new branch]      android-4.1.1_r4 -> origin/android-4.1.1_r4
 * [new branch]      android-4.1.1_r5 -> origin/android-4.1.1_r5
 * [new branch]      android-4.1.1_r6 -> origin/android-4.1.1_r6
 * [new branch]      android-4.1.1_r6.1 -> origin/android-4.1.1_r6.1
 * [new branch]      android-4.1.2_r1 -> origin/android-4.1.2_r1
 * [new branch]      android-4.1.2_r2 -> origin/android-4.1.2_r2
 * [new branch]      android-4.1.2_r2.1 -> origin/android-4.1.2_r2.1
 * [new branch]      android-4.2.1_r1 -> origin/android-4.2.1_r1
 * [new branch]      android-4.2.1_r1.1 -> origin/android-4.2.1_r1.1
 * [new branch]      android-4.2.1_r1.2 -> origin/android-4.2.1_r1.2
 * [new branch]      android-4.2.2_r1 -> origin/android-4.2.2_r1
 * [new branch]      android-4.2.2_r1.1 -> origin/android-4.2.2_r1.1
 * [new branch]      android-4.2.2_r1.2 -> origin/android-4.2.2_r1.2
 * [new branch]      android-4.2.2_r1.2b -> origin/android-4.2.2_r1.2b
 * [new branch]      android-4.2_r1 -> origin/android-4.2_r1
 * [new branch]      android-4.3.1_r1 -> origin/android-4.3.1_r1
 * [new branch]      android-4.3_r0.9 -> origin/android-4.3_r0.9
 * [new branch]      android-4.3_r0.9.1 -> origin/android-4.3_r0.9.1
 * [new branch]      android-4.3_r1 -> origin/android-4.3_r1
 * [new branch]      android-4.3_r1.1 -> origin/android-4.3_r1.1
 * [new branch]      android-4.3_r2 -> origin/android-4.3_r2
 * [new branch]      android-4.3_r2.1 -> origin/android-4.3_r2.1
 * [new branch]      android-4.3_r2.2 -> origin/android-4.3_r2.2
 * [new branch]      android-4.3_r2.2-cts -> origin/android-4.3_r2.2-cts
 * [new branch]      android-4.3_r2.3 -> origin/android-4.3_r2.3
 * [new branch]      android-4.3_r3 -> origin/android-4.3_r3
 * [new branch]      android-4.3_r3.1 -> origin/android-4.3_r3.1
 * [new branch]      android-4.4.1_r1 -> origin/android-4.4.1_r1
 * [new branch]      android-4.4.2_r1 -> origin/android-4.4.2_r1
 * [new branch]      android-4.4.2_r2 -> origin/android-4.4.2_r2
 * [new branch]      android-4.4.3_r1 -> origin/android-4.4.3_r1
 * [new branch]      android-4.4.3_r1.1 -> origin/android-4.4.3_r1.1
 * [new branch]      android-4.4.4_r1 -> origin/android-4.4.4_r1
 * [new branch]      android-4.4.4_r2 -> origin/android-4.4.4_r2
 * [new branch]      android-4.4_r1 -> origin/android-4.4_r1
 * [new branch]      android-4.4_r1.1 -> origin/android-4.4_r1.1
 * [new branch]      android-4.4_r1.2 -> origin/android-4.4_r1.2
 * [new branch]      android-4.4w_r1 -> origin/android-4.4w_r1
 * [new branch]      android-cts-2.2_r8 -> origin/android-cts-2.2_r8
 * [new branch]      android-cts-2.3_r10 -> origin/android-cts-2.3_r10
 * [new branch]      android-cts-2.3_r11 -> origin/android-cts-2.3_r11
 * [new branch]      android-cts-2.3_r12 -> origin/android-cts-2.3_r12
 * [new branch]      android-cts-4.0.3_r1 -> origin/android-cts-4.0.3_r1
 * [new branch]      android-cts-4.0.3_r2 -> origin/android-cts-4.0.3_r2
 * [new branch]      android-cts-4.0_r1 -> origin/android-cts-4.0_r1
 * [new branch]      android-cts-4.1_r1 -> origin/android-cts-4.1_r1
 * [new branch]      android-cts-4.1_r2 -> origin/android-cts-4.1_r2
 * [new branch]      android-cts-4.1_r4 -> origin/android-cts-4.1_r4
 * [new branch]      android-cts-4.2_r2 -> origin/android-cts-4.2_r2
 * [new branch]      android-cts-verifier-4.0.3_r1 -> origin/android-cts-verifier-4.0.3_r1
 * [new branch]      android-cts-verifier-4.0_r1 -> origin/android-cts-verifier-4.0_r1
 * [new branch]      android-sdk-4.0.3-tools_r1 -> origin/android-sdk-4.0.3-tools_r1
 * [new branch]      android-sdk-4.0.3_r1 -> origin/android-sdk-4.0.3_r1
 * [new branch]      android-sdk-4.4.2_r1 -> origin/android-sdk-4.4.2_r1
 * [new branch]      android-sdk-adt_r16.0.1 -> origin/android-sdk-adt_r16.0.1
 * [new branch]      android-sdk-adt_r20 -> origin/android-sdk-adt_r20
 * [new branch]      android-sdk-support_r11 -> origin/android-sdk-support_r11
 * [new branch]      chromium-dev -> origin/chromium-dev
 * [new branch]      froyo      -> origin/froyo
 * [new branch]      gingerbread -> origin/gingerbread
 * [new branch]      gingerbread-release -> origin/gingerbread-release
 * [new branch]      gradle_0.12.2 -> origin/gradle_0.12.2
 * [new branch]      ics-mr0    -> origin/ics-mr0
 * [new branch]      ics-mr1    -> origin/ics-mr1
 * [new branch]      ics-plus-aosp -> origin/ics-plus-aosp
 * [new branch]      idea133    -> origin/idea133
 * [new branch]      idea133-weekly-release -> origin/idea133-weekly-release
 * [new branch]      jb-dev     -> origin/jb-dev
 * [new branch]      jb-mr1-dev -> origin/jb-mr1-dev
 * [new branch]      jb-mr1-dev-plus-aosp -> origin/jb-mr1-dev-plus-aosp
 * [new branch]      jb-mr1.1-dev -> origin/jb-mr1.1-dev
 * [new branch]      jb-mr1.1-dev-plus-aosp -> origin/jb-mr1.1-dev-plus-aosp
 * [new branch]      jb-mr2-dev -> origin/jb-mr2-dev
 * [new branch]      jumper-stable -> origin/jumper-stable
 * [new branch]      kitkat-cts-dev -> origin/kitkat-cts-dev
 * [new branch]      kitkat-dev -> origin/kitkat-dev
 * [new branch]      l-preview  -> origin/l-preview
 * [new branch]      master     -> origin/master
 * [new branch]      master-art -> origin/master-art
 * [new branch]      master-art-host -> origin/master-art-host
 * [new branch]      master-dalvik -> origin/master-dalvik
 * [new branch]      master-dalvik-host -> origin/master-dalvik-host
 * [new branch]      tools-canary-release -> origin/tools-canary-release
 * [new branch]      tools_ndk_r9d -> origin/tools_ndk_r9d
 * [new branch]      tools_r20  -> origin/tools_r20
 * [new branch]      tools_r21  -> origin/tools_r21
 * [new branch]      tools_r21.1 -> origin/tools_r21.1
 * [new branch]      tools_r22  -> origin/tools_r22
 * [new branch]      tools_r22.2 -> origin/tools_r22.2
 * [new branch]      tools_r22.6 -> origin/tools_r22.6
 * [new branch]      tradefed   -> origin/tradefed
 * [new branch]      ub-jack    -> origin/ub-jack
 * [new branch]      ub-tools-idea133 -> origin/ub-tools-idea133
 * [new branch]      ub-tools-idea133-milestone -> origin/ub-tools-idea133-milestone
 * [new branch]      ub-tools-idea133-release -> origin/ub-tools-idea133-release
 * [new branch]      ub-tools-master -> origin/ub-tools-master
 * [new tag]         android-1.6_r1.1_ -> android-1.6_r1.1_
 * [new tag]         android-1.6_r1.2_ -> android-1.6_r1.2_
 * [new tag]         android-1.6_r1.3_ -> android-1.6_r1.3_
 * [new tag]         android-1.6_r1.4_ -> android-1.6_r1.4_
 * [new tag]         android-1.6_r1.5_ -> android-1.6_r1.5_
 * [new tag]         android-1.6_r1_ -> android-1.6_r1_
 * [new tag]         android-1.6_r2_ -> android-1.6_r2_
 * [new tag]         android-2.0.1_r1_ -> android-2.0.1_r1_
 * [new tag]         android-2.0_r1_ -> android-2.0_r1_
 * [new tag]         android-2.1_r1_ -> android-2.1_r1_
 * [new tag]         android-2.1_r2.1p2_ -> android-2.1_r2.1p2_
 * [new tag]         android-2.1_r2.1p_ -> android-2.1_r2.1p_
 * [new tag]         android-2.1_r2.1s_ -> android-2.1_r2.1s_
 * [new tag]         android-2.1_r2_ -> android-2.1_r2_
 * [new tag]         android-2.2.1_r1_ -> android-2.2.1_r1_
 * [new tag]         android-2.2.1_r2_ -> android-2.2.1_r2_
 * [new tag]         android-2.2.2_r1_ -> android-2.2.2_r1_
 * [new tag]         android-2.2.3_r1 -> android-2.2.3_r1
 * [new tag]         android-2.2.3_r2 -> android-2.2.3_r2
 * [new tag]         android-2.2.3_r2.1 -> android-2.2.3_r2.1
 * [new tag]         android-2.2_r1.1_ -> android-2.2_r1.1_
 * [new tag]         android-2.2_r1.2_ -> android-2.2_r1.2_
 * [new tag]         android-2.2_r1.3_ -> android-2.2_r1.3_
 * [new tag]         android-2.2_r1_ -> android-2.2_r1_
 * [new tag]         android-2.3.1_r1_ -> android-2.3.1_r1_
 * [new tag]         android-2.3.2_r1_ -> android-2.3.2_r1_
 * [new tag]         android-2.3.3_r1.1_ -> android-2.3.3_r1.1_
 * [new tag]         android-2.3.3_r1_ -> android-2.3.3_r1_
 * [new tag]         android-2.3.4_r0.9_ -> android-2.3.4_r0.9_
 * [new tag]         android-2.3.4_r1_ -> android-2.3.4_r1_
 * [new tag]         android-2.3.5_r1_ -> android-2.3.5_r1_
 * [new tag]         android-2.3.6_r0.9 -> android-2.3.6_r0.9
 * [new tag]         android-2.3.6_r1 -> android-2.3.6_r1
 * [new tag]         android-2.3.7_r1 -> android-2.3.7_r1
 * [new tag]         android-2.3_r1_ -> android-2.3_r1_
 * [new tag]         android-4.0.1_r1 -> android-4.0.1_r1
 * [new tag]         android-4.0.1_r1.1 -> android-4.0.1_r1.1
 * [new tag]         android-4.0.1_r1.2 -> android-4.0.1_r1.2
 * [new tag]         android-4.0.2_r1 -> android-4.0.2_r1
 * [new tag]         android-4.0.3_r1 -> android-4.0.3_r1
 * [new tag]         android-4.0.3_r1.1 -> android-4.0.3_r1.1
 * [new tag]         android-4.0.4_r1 -> android-4.0.4_r1
 * [new tag]         android-4.0.4_r1.1 -> android-4.0.4_r1.1
 * [new tag]         android-4.0.4_r1.2 -> android-4.0.4_r1.2
 * [new tag]         android-4.0.4_r2 -> android-4.0.4_r2
 * [new tag]         android-4.0.4_r2.1 -> android-4.0.4_r2.1
 * [new tag]         android-4.1.1_r1 -> android-4.1.1_r1
 * [new tag]         android-4.1.1_r1.1 -> android-4.1.1_r1.1
 * [new tag]         android-4.1.1_r1_ -> android-4.1.1_r1_
 * [new tag]         android-4.1.1_r2 -> android-4.1.1_r2
 * [new tag]         android-4.1.1_r3 -> android-4.1.1_r3
 * [new tag]         android-4.1.1_r4 -> android-4.1.1_r4
 * [new tag]         android-4.1.1_r5 -> android-4.1.1_r5
 * [new tag]         android-4.1.1_r6 -> android-4.1.1_r6
 * [new tag]         android-4.1.1_r6.1 -> android-4.1.1_r6.1
 * [new tag]         android-4.1.2_r1 -> android-4.1.2_r1
 * [new tag]         android-4.1.2_r2 -> android-4.1.2_r2
 * [new tag]         android-4.1.2_r2.1 -> android-4.1.2_r2.1
 * [new tag]         android-4.2.1_r1.1 -> android-4.2.1_r1.1
 * [new tag]         android-4.2.1_r1.2 -> android-4.2.1_r1.2
 * [new tag]         android-4.2.1_r1__ -> android-4.2.1_r1__
 * [new tag]         android-4.2.2_r1.1 -> android-4.2.2_r1.1
 * [new tag]         android-4.2.2_r1.2 -> android-4.2.2_r1.2
 * [new tag]         android-4.2.2_r1_ -> android-4.2.2_r1_
 * [new tag]         android-4.2_r1___ -> android-4.2_r1___
 * [new tag]         android-4.3.1_r1 -> android-4.3.1_r1
 * [new tag]         android-4.3_r0.9 -> android-4.3_r0.9
 * [new tag]         android-4.3_r0.9.1 -> android-4.3_r0.9.1
 * [new tag]         android-4.3_r0.9.1_ -> android-4.3_r0.9.1_
 * [new tag]         android-4.3_r0.9_ -> android-4.3_r0.9_
 * [new tag]         android-4.3_r1 -> android-4.3_r1
 * [new tag]         android-4.3_r1.1 -> android-4.3_r1.1
 * [new tag]         android-4.3_r1_ -> android-4.3_r1_
 * [new tag]         android-4.3_r2 -> android-4.3_r2
 * [new tag]         android-4.3_r2.1_ -> android-4.3_r2.1_
 * [new tag]         android-4.3_r2.1__ -> android-4.3_r2.1__
 * [new tag]         android-4.3_r2.2 -> android-4.3_r2.2
 * [new tag]         android-4.3_r2.3 -> android-4.3_r2.3
 * [new tag]         android-4.3_r2_ -> android-4.3_r2_
 * [new tag]         android-4.3_r3 -> android-4.3_r3
 * [new tag]         android-4.3_r3.1 -> android-4.3_r3.1
 * [new tag]         android-4.4.1_r1 -> android-4.4.1_r1
 * [new tag]         android-4.4.2_r1 -> android-4.4.2_r1
 * [new tag]         android-4.4.2_r2 -> android-4.4.2_r2
 * [new tag]         android-4.4.3_r1 -> android-4.4.3_r1
 * [new tag]         android-4.4.3_r1.1 -> android-4.4.3_r1.1
 * [new tag]         android-4.4.4_r1 -> android-4.4.4_r1
 * [new tag]         android-4.4.4_r2 -> android-4.4.4_r2
 * [new tag]         android-4.4_r1 -> android-4.4_r1
 * [new tag]         android-4.4_r1.1 -> android-4.4_r1.1
 * [new tag]         android-4.4_r1.2 -> android-4.4_r1.2
 * [new tag]         android-4.4w_r1 -> android-4.4w_r1
 * [new tag]         android-cts-2.2_r8 -> android-cts-2.2_r8
 * [new tag]         android-cts-2.3_r10 -> android-cts-2.3_r10
 * [new tag]         android-cts-2.3_r11 -> android-cts-2.3_r11
 * [new tag]         android-cts-2.3_r12 -> android-cts-2.3_r12
 * [new tag]         android-cts-4.0.3_r1 -> android-cts-4.0.3_r1
 * [new tag]         android-cts-4.0.3_r2 -> android-cts-4.0.3_r2
 * [new tag]         android-cts-4.0_r1 -> android-cts-4.0_r1
 * [new tag]         android-cts-4.1_r1 -> android-cts-4.1_r1
 * [new tag]         android-cts-4.1_r2 -> android-cts-4.1_r2
 * [new tag]         android-cts-4.1_r4 -> android-cts-4.1_r4
 * [new tag]         android-cts-4.2_r2 -> android-cts-4.2_r2
 * [new tag]         android-cts-4.4_r1 -> android-cts-4.4_r1
 * [new tag]         android-cts-verifier-4.0.3_r1 -> android-cts-verifier-4.0.3_r1
 * [new tag]         android-cts-verifier-4.0_r1 -> android-cts-verifier-4.0_r1
 * [new tag]         android-sdk-4.0.3-tools_r1 -> android-sdk-4.0.3-tools_r1
 * [new tag]         android-sdk-4.0.3_r1 -> android-sdk-4.0.3_r1
 * [new tag]         android-sdk-4.4.2_r1 -> android-sdk-4.4.2_r1
 * [new tag]         android-sdk-adt_r16.0.1 -> android-sdk-adt_r16.0.1
 * [new tag]         android-sdk-adt_r20 -> android-sdk-adt_r20
 * [new tag]         android-sdk-support_r11 -> android-sdk-support_r11
 * [new tag]         gradle_0.12.2 -> gradle_0.12.2
 
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1.2
$ repo sync

7. 找toolchain
应该是用NDK自带的mips的toolchain就可以了.
另,4.0.4对应的是API level 15

8. java版本问题
************************************************************
You are attempting to build with the incorrect version
of java.
 
Your version is: java version "1.6.0_31".
The correct version is: Java SE 1.6.
 
Please follow the machine setup instructions at
    http://source.android.com/source/download.html
************************************************************
build/core/main.mk:131: *** stop.  Stop.
oracle网站可以下载各个版本的jdk
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u31-oth-JPR

之前错误安装了jdk 7, 可以通过apt-get autoremove openjdk-7-jre卸载.
之前还安装了jdk6u31, 可以通过apt-get purge openjdk*完全卸载掉.(http://askubuntu.com/questions/335457/how-to-uninstall-openjdk)
在运行java -version,会提示 -bash: /usr/bin/java: No such file or directory

按照http://blog.csdn.net/openme_openwrt/article/details/7957156的提示, 发现编译的时候会出
.mk: No such file or directory build/core/combo/TARGET_linux-mips
build/core/config.mk:268: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com.  Stop.
其实是将环境变量放在/etc/profile中再source的话, 发现没有改变.
手动运行下面的命令, 就不会提示这个问题.
export JAVA_HOME=/home/xioliu/jdk1.6.0_31
export JRE_HOME=/home/xioliu/jdk1.6.0_31/jre
export CLASSPATH=/home/xioliu/jdk1.6.0_31/lib:/home/xioliu/jdk1.6.0_31/jre/lib
export PATH=/home/xioliu/jdk1.6.0_31/bin:/home/xioliu/jdk1.6.0_31/jre/bin:$PATH

update-alternatives --install /usr/bin/java java /home/xioliu/jdk1.6.0_31/bin/java 300
update-alternatives --install /usr/bin/java java /home/xioliu/jdk1.6.0_31/bin/javac 300
update-alternatives --install /usr/bin/java java /home/xioliu/jdk1.6.0_31/bin/javah 300

update-alternatives --config java
update-alternatives --config javac
update-alternatives --config javah

这个网页应该也是靠谱的http://hi.baidu.com/quest2run/item/43ab80af24603f971410734a

9. 编译,先用arm的编译去验证编译环境架设的正确与否
#cat env.bsh
source build/envsetup.sh
lunch 7

遇到问题,解决方法见http://blog.csdn.net/xumercury/article/details/7746229
遇见另外error, 见http://hcleon.iteye.com/blog/1461352

发现遇到的问题的顺序和下面的顺序一样.
http://blog.csdn.net/zhbpd/article/details/7680835

10. 遇到错误
host Java: apache-harmony-tests-hostdex (out/host/common/obj/JAVA_LIBRARIES/apache-harmony-tests-hostdex_intermediates/classes)
host Java: core-tests-hostdex (out/host/common/obj/JAVA_LIBRARIES/core-tests-hostdex_intermediates/classes)
Copying: out/target/common/obj/JAVA_LIBRARIES/sqlite-jdbc_intermediates/emma_out/lib/classes-jarjar.jar
target Static Jar: mail-common (out/target/common/obj/JAVA_LIBRARIES/mail-common_intermediates/javalib.jar)
target R.java/Manifest.java: SignatureTest (out/target/common/obj/APPS/SignatureTest_intermediates/src/R.stamp)
collect2: ld 以信号 9 [已杀死] 退出。
make: *** [out/host/linux-x86/obj/EXECUTABLES/clang_intermediates/clang] 错误 1
make: *** 正在等待未完成的任务....
elapsed seconds: 2448

wenku.baidu.com/view/52813b61f5335a8102d220b0.html
google是说内存不够导致的, 吧make -j4 改成make应该就可以.

经过9,10两步之后,编译成功. 在out\target\product\crespo下生成相应的image. 表示编译环境的搭建是没有问题的.


11. 前面下载的4.0.4上, mips架构是没法编译的, build\core\combo\arch 下面只有arm的目录.
使用下面的配置的话,会提示找不到一些makefile文件之类的错误.
#export TARGET_ARCH=mips
#export TARGET_ARCH_VARIANT=mipsandroid
#export ANDROID_TOOLCHAIN=/usr/local/codesourcery/mips-4.3/bin

12. 重新下载4.4的版本, 里面就已经有mips架构的makefile了.
http://blog.csdn.net/gobitan/article/details/24367439 里面提到, "编译Android4.4不能用OpenJDK,必须用Oracle JDK1.6,1.7目前是不支持的。",
不知道具体的结果怎么样.
www.cnblogs.com/zhx831/p/3550688.html这个上面也说, 是到oracle上去下载JDK.
实际发现用原来的open jdk1.6也能编译通过.
选的是aosp_mips

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。