|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。6 z3 U. N" @- h) K, ~
3 w9 d( y' B! N. C; p
一、for MTK8382
- R; H' q/ b" o/ b- \2 i8 R( n% x1 {: U4 i9 X+ H
1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i P4 W( ?- L. L8 \6 `
- cd /etc/apt/sources.list.d% B( q2 e* I' m: e9 q
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
" f: S+ y1 {% u( e' V8 M/ f5 s - apt-get update. G. D1 g) P( h0 n
- apt-get install ia32-libs
2 v0 m. p" t! h6 B% y$ ` - + S7 R ~( |( p- ]+ p4 `5 @
- apt-get install dpkg-dev
- k9 [* k! Y( W$ P: {" w
! \$ n4 ^- {! F3 Q1 c- C; o- 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
9 { p% |3 c! W- |$ Z9 @$ H
复制代码 2、安装JDK和SDK
- s( A) a8 U1 Q/ D+ T$ ^8 M; F' g$ g
从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/- v% k+ X% ~ q5 ~% A# s$ D
- chmod a+x jdk-6u23-linux-x64.bin- [9 Y7 _7 K6 d" a
- ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip
8 _, ?2 \( d9 ^; z# D如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip
4 Q) T0 U1 K0 S" O - cd adt-bundle-linux-x86_64-20140321# C7 ~8 ]$ f u4 D' E
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23 m; Q* n& D+ k/ m! A6 d
- export JAVA_HOME
# ?0 c3 Z6 T& F" k
2 ^4 t7 w. N7 S7 o; X8 X- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23* N- V6 U' H m2 i* N
- export ANDROID_JAVA_HOME# K3 J9 g# s2 w6 J
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib; A, E0 g* b% K' @
% f9 ^) @+ K* J1 L- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH8 O4 l' y$ l' B3 k+ J
- export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s; F. K" y) w7 X, L# R
- apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib9 @/ h5 W: W& K: f* w5 P
- cd /usr/bin/
0 k+ O# X G; O+ |2 f - mv gcc gcc.4.8% h* g, S* Y3 T( F0 m# R
- mv g++ g++.4.8
$ Y5 r ?1 q+ M; G - ln -s g++-4.4 g++
: n% r+ o+ E7 o" D3 R: e - 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.
' X) O, P0 @; y5 N5 a- ~; B3 X - 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
复制代码 按以上顺序,编译即成功.
5 m0 Q* G, \& ^, @ |
|