|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。
5 r4 k% Q. p" \' a, C9 w& X" R0 N( j- D f. m4 ?/ W
一、for MTK8382! h: P1 J8 i; q
7 ?- t. V" I: }) x" ^5 G
1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i* o+ w! j! Y9 L [3 j/ U
- cd /etc/apt/sources.list.d ?. }' Q: b% `+ _7 a2 j
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
" J2 e$ `5 @% U& f - apt-get update
1 k' [5 F2 `- r" @) F - apt-get install ia32-libs
, o' K+ w; {: I8 ^ `! b# z1 z" b - # {5 d9 f1 H1 a% G7 [% V
- apt-get install dpkg-dev0 T* ]& }/ q1 L" G/ F ?! L
3 H6 J- e% o4 ?# {+ G4 p- 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
! F. b! P9 @; l3 m1 A% |
复制代码 2、安装JDK和SDK) @7 h# P% {7 T* Q3 q( P
; m( Q, ^3 U) T( @: _从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/$ `8 S j/ g% \, @3 ^/ ?% U! Q5 E
- chmod a+x jdk-6u23-linux-x64.bin! C3 B7 n9 h7 ~
- ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip
/ \$ ~0 `& k. P* b如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip
, l3 ]1 w# ?4 L, T4 V - cd adt-bundle-linux-x86_64-20140321$ n% S* g; D; F- P$ M+ S6 O0 }4 w
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23
) S0 C% G* Q3 c4 g4 L - export JAVA_HOME+ t( k4 V" b# b
- # j5 b: l( K! U
- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23' F) i5 J5 e* r
- export ANDROID_JAVA_HOME
. d) t5 E4 @0 H# e) |9 m- \ - export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib1 r" A. l+ I; I( a# x8 Q [8 A
# J" ]" |+ F$ r+ T8 O- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH
1 v& X [$ A; }4 I - export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s
# ?. L: f8 [9 W, d" }& k - apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib) I' T$ M0 {6 x7 K- d
- cd /usr/bin/% [ j V: J# q% _7 `2 {' I$ b
- mv gcc gcc.4.80 W+ h/ K) r, C9 }# w' T
- mv g++ g++.4.81 Q: k0 e/ i) f* u* x
- ln -s g++-4.4 g++5 O& U6 |9 S: ?: p; D. ^" G! R
- 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., }5 S! N0 X; I! b* m) F
- 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
复制代码 按以上顺序,编译即成功.' n3 d) U% O) O) W3 ~% \ L
|
|