|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。
" n) T! d$ i0 n' D
9 M3 E) a! K% W5 s& Z& i一、for MTK8382
# ]' N* x J3 R, c2 Q) x, W. l. Q
1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i
/ Q! C9 W! E# g- H/ z2 _5 b6 V - cd /etc/apt/sources.list.d
5 Y% C* w( [8 }! `' W - echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list* v4 m9 B5 H* n* J1 S
- apt-get update9 z" \4 z# T0 [. w. v
- apt-get install ia32-libs
* e% Q: ^! a; F m) ]
6 r0 X- k; P. E- @. O. Z2 ~8 l/ H& r% n# j- apt-get install dpkg-dev1 d6 k) u! I. s7 S
- 8 \/ V4 p- E E4 e$ d
- 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" F9 k6 ?. e( q& O b1 ]
复制代码 2、安装JDK和SDK |1 B' W: W- o8 C
& a: {5 ?- U! M5 `; k! r从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/% t, M1 R+ a ?
- chmod a+x jdk-6u23-linux-x64.bin) t; }1 h& ~, q+ ]# W ?; U: c
- ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip3 q! z z3 M0 {, R. x$ v; x0 s* ~
如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip
. E7 `9 p% M+ b - cd adt-bundle-linux-x86_64-20140321: N3 q, v; e' G& e
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23; |0 i* m7 t E$ O, H) a( x
- export JAVA_HOME% F! Z% `8 f* }" L
- . m/ q+ |) v% O: ~+ }+ A
- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23
+ p7 a: D3 @1 ^9 V0 r8 @& V: ~ - export ANDROID_JAVA_HOME
5 S) d2 E) ?, r6 M- T+ K5 X$ V3 O - export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib9 e) p, U4 ^7 s2 A6 S
- 9 P" U! v0 Z/ D$ v3 z6 _" A
- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH
) e" {% U. `1 m( _; q" K - export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s
. a$ O! `! \; l( n$ [ - apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib. V9 z8 E6 Q; C! g" L, A, w
- cd /usr/bin/
, R. F C; W* j2 H" c - mv gcc gcc.4.8
! z i3 `3 A9 {" S6 w/ z8 ? - mv g++ g++.4.8
# Y+ S* i' u2 L* }1 [ - ln -s g++-4.4 g++
& u$ s9 ?, U9 j+ m' b) I - 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.
6 c/ [! s9 k9 _( Q' V - 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
复制代码 按以上顺序,编译即成功.$ E" G% Y; n% F# W
|
|