|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。
% |" b$ q7 q% l: j# o# k0 [3 @
一、for MTK83825 R8 q1 @2 l+ V$ H, Y* a: X* c* G
# G3 M! x2 [( Y, h' O5 z- e& |1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i( r. S6 v5 L* P. e
- cd /etc/apt/sources.list.d
$ n: P6 N8 m$ [* i8 L+ b2 s) F$ D, n9 z1 | - echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list; F) _0 p$ I# o* @6 \3 s/ f
- apt-get update4 F, p" d/ |9 ^% O
- apt-get install ia32-libs" q8 \5 t1 p# k5 q7 I
- 7 a' s+ h0 a: V3 U$ v
- apt-get install dpkg-dev
2 V1 ~8 D% G2 ]8 I
& i. X+ t3 i7 Y1 n- 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" Z5 d( V6 d, F T$ V! t; E S' ~. ?
复制代码 2、安装JDK和SDK3 ~1 Q U9 q* g9 V& r' o7 Y l
3 }3 c* c! d, B3 x5 D# e
从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/! G/ J; A5 H! C- L+ |( A
- chmod a+x jdk-6u23-linux-x64.bin
3 O8 Y d" m. Q2 Z% r, d0 ?( A2 ? - ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip) a( L K1 A0 [ y o3 }
如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip
7 f S6 G( `) _ - cd adt-bundle-linux-x86_64-20140321
! h% p! |$ M; C) s# R: y - sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23' [! \4 N6 M1 `+ h; }& A
- export JAVA_HOME4 Z f( ^) N8 _# a) o
& u5 u" T9 P( P. Z- ANDROID_JAVA_HOME=/opt/jdk1.6.0_232 ?" R- o+ [* `/ x* Y
- export ANDROID_JAVA_HOME
' q; R' d7 J; m' i& [ - export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
" O$ [+ T' O# m" h# O' T5 U - 7 F/ C2 |' t. w. x; s5 s
- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH& f8 |4 W& Z/ J6 H. l5 h J! Y# c
- export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s; U ]" t: K1 g
- apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib+ ~- B3 G6 i4 c3 F: |; k( c
- cd /usr/bin/
: y8 \2 l) |" X' \" w4 \; Z - mv gcc gcc.4.8: _7 _4 j0 R' e& G0 P. i
- mv g++ g++.4.8( g2 l1 K/ W7 Z! P, g9 ]& l
- ln -s g++-4.4 g++
7 b) c1 \3 u" R: H% N# 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.
8 t9 z, q/ O4 r# g - 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
复制代码 按以上顺序,编译即成功.# h3 i/ j& ~; g3 P. S* z
|
|