|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。: G( T- Y+ q; x- s" p" Z M
* @2 p& n6 A1 b2 H+ |5 N* o! E" B* N
一、for MTK8382
6 X- P. b+ K) d1 t$ ?) A2 s; ?% X: [' X1 Z
1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i
I1 }- w' A: A - cd /etc/apt/sources.list.d2 R3 ?+ _ d) \8 M+ E
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
6 l$ p# q! a, q5 f3 ` - apt-get update
3 o# R4 D: \/ ]. U - apt-get install ia32-libs; y5 ~$ p) y7 x3 _% X6 |( `
1 W# l( L6 S' W. c8 J- r' Z9 S- apt-get install dpkg-dev
6 N3 }, q0 e8 {* p" \- ~
4 _ }/ R8 u/ K& ?- t% @( Q- apt-get install git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
1 \3 A& Q7 y+ A- ^0 v
复制代码 2、安装JDK和SDK
3 N. V" ]* ~6 n, m
' R; _9 x- L8 C& ~1 J* d8 }* Z, H从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/
5 p% A/ y6 P' h5 C. F - chmod a+x jdk-6u23-linux-x64.bin6 D& | [8 u' q1 b" M# }
- ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip
5 A, Z( E. M9 \% r p( Y如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip
2 `* N; e; T. X - cd adt-bundle-linux-x86_64-20140321( X( i) M7 V6 I4 q
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23* Y5 W- b) Q4 O, [7 y
- export JAVA_HOME. U; k" g5 \' A3 ^# L
4 E$ v7 x! I8 g! \5 o% u- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23( W: |- _7 P1 N1 z5 _
- export ANDROID_JAVA_HOME! X# r6 F0 Z5 F7 ]1 i
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
$ z1 s3 O6 u0 V, q& N0 g. s - - j# d4 H5 h) H
- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH
& M9 G$ ^9 l& R2 W - export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s: M5 h; k4 v Q+ ]0 G' R, _2 R
- apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib
1 {# s; ^9 |# |3 Q2 l - cd /usr/bin/
2 x0 c p1 H3 ]* }( }7 Z - mv gcc gcc.4.8
) b; h4 p N4 e/ K( @ _ - mv g++ g++.4.8. ~# s1 z# T1 g( I9 l8 t4 |3 ^
- ln -s g++-4.4 g++
7 Y: n* \ G# D9 w" G1 `8 K - ln -s gcc-4.4 gcc
复制代码 5、重新打开shell,编译时,发现log_err :- `mediatek/protect/frameworks/base/*/': No such file or directory
复制代码 以为android的编译错误只会放在log_err里,看了半天没找到原因,后面看log时才发现:- Can't locate Switch.pm in @INC (you may need to install the Switch module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at external/webkit/Source/WebCore/make-hash-tools.pl line 23.
/ t" e# `9 e4 X; }7 ~ - BEGIN failed--compilation aborted at external/webkit/Source/WebCore/make-hash-tools.pl line 23.
复制代码 开打pl文件,并依据提示,少了libswitch-perl库。在此提示,请尽量检查log……安装相应的库文件。- sudo apt-get install libswitch-perl
复制代码 按以上顺序,编译即成功.
9 l: ?4 d3 w1 e6 E" y7 M0 V3 U0 j |
|