|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。' V; a3 G/ m/ i& c: N
' Q. e4 M3 M$ m0 G( u& t
一、for MTK8382
+ d! w/ h9 c& S
! z5 q. o6 i6 D5 S- l3 m1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i) d9 w5 ~+ Y- p7 E" _& `
- cd /etc/apt/sources.list.d2 q+ d* ], c1 j% r
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list4 `! I8 \+ P9 M/ n3 n% i
- apt-get update- ]/ Y8 U1 B" i! u, c8 E
- apt-get install ia32-libs
, n1 @$ K: h6 Z# F" k" x
( @, ]3 h' K% u: ]- apt-get install dpkg-dev) I7 F3 Y" j/ a& k: y6 o! |4 C
- y/ Z& a- [% f7 S/ z! [' Y
- 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
/ {+ X! n7 Y: ?: Y6 t
复制代码 2、安装JDK和SDK% [( l, I" f) g1 T! b! T
% ^6 @+ N( l6 \8 z: A从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/
( [ u1 u4 z8 o( n, g$ H - chmod a+x jdk-6u23-linux-x64.bin$ H4 ]( A8 p3 L2 t2 p: T
- ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip) A4 }8 o. Q' @: G$ W. D$ Z* R
如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip+ d) M v5 y6 a* `+ w& D* y3 F
- cd adt-bundle-linux-x86_64-201403216 x7 e* F( Y, V! ~. o, J, a4 Z
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23
$ k4 J8 I _; `1 B. D - export JAVA_HOME4 N/ E2 g0 s# y- E6 O8 T
/ Z d& \ u6 e' ~% d- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23
: _: h/ F- k$ m- M) m2 h - export ANDROID_JAVA_HOME
6 q% z# d% ]4 A* f2 S; ~8 Y8 J" ] - export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
" k; e! A( D# G+ ]( |: a# ]6 P
5 N2 ]3 v, _% `- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH0 \1 |6 v6 }' i3 o( ~
- export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s
3 G" k( Z# F* Q" K - apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib
/ z/ ~, k4 p" ^ - cd /usr/bin/
$ l8 ?+ Q: ?2 d4 O2 v - mv gcc gcc.4.8
& N1 h+ x. Z3 d R/ [ - mv g++ g++.4.8& U1 W: n0 v7 U9 W, u2 }
- ln -s g++-4.4 g++ ~5 n, L9 A3 ~9 v, j2 I. G8 ?
- 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.
) h8 W! V/ j4 C0 c* \" F+ S - 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
复制代码 按以上顺序,编译即成功.
6 d i& j4 j8 r6 x) J |
|