|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。" e$ ?# T6 e: Q! v5 ]" @. `: f
3 B/ k1 X3 A" |6 W+ k8 T! e& w; Y
一、for MTK8382
1 y: V6 V) B* u0 V8 q' |# X- D! s/ J1 [5 p1 d5 r
1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i$ S* s d& r& z2 \9 v' r9 {8 ~& K% T
- cd /etc/apt/sources.list.d$ w0 W3 e( Q) o3 J, F
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list/ A! T: q* \" \# n5 V- ~
- apt-get update
9 s0 p0 K4 y* F0 Q4 E/ h/ r4 Z. l, Y& a - apt-get install ia32-libs9 W2 M1 I& f( Z
- # r6 m6 Z) v8 Q) G
- apt-get install dpkg-dev0 f: ?* F* X' ~
9 l8 Y4 @3 G0 L* x% d& }2 G" J) A- 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:i3867 x$ j& I- N" D- u
复制代码 2、安装JDK和SDK* _) V4 T! l1 U1 E( T
" S! ?+ N+ b2 C8 o) S, H) n6 t3 s' _
从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/
8 E8 X l0 M' ?( g - chmod a+x jdk-6u23-linux-x64.bin
+ J# {7 m0 }# T - ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip/ x" M8 ^ { e0 Y, b
如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip) `7 P. I' N% S2 P( t! Q
- cd adt-bundle-linux-x86_64-20140321! u- n7 A [0 Z d
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23
+ p Q- F) Z# v" ^& ]+ G! N - export JAVA_HOME3 D% J; U" i; s6 ~9 O6 {. o% N" F
1 F5 f/ }$ x8 T4 t; w) j( P- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23
6 \; U, \+ K+ H5 k - export ANDROID_JAVA_HOME: b$ Q, S. @0 s
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
$ a. O! q( R& @% U
9 s& T9 O. p1 w% O: o `% l- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH5 e* Q; l( _0 N+ d" R% t# _
- export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s3 U# _: z; |5 C
- apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib
# |0 G0 C6 C8 t0 c2 r - cd /usr/bin/- L8 b8 g. j! c7 W0 E7 B
- mv gcc gcc.4.8
- q1 D- P6 e0 }0 }- \" ~/ ^ - mv g++ g++.4.8- z: D) N2 `3 k/ B& p4 k
- ln -s g++-4.4 g++
: y' a+ V% K+ l: b( q; H) p+ X; h - 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/ J( h: |. h; g. D* c. X9 a$ Q
- 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
复制代码 按以上顺序,编译即成功.
4 e6 ?, |. m, J |
|