|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。
4 y5 l* ^7 e5 g+ ]# |) L: Z5 B
% Z! X1 }& W( `& l6 V7 Z3 D! F; r一、for MTK8382' a! \# C" R* P* \6 T
# r8 s, v E" a: i2 b
1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i
9 A, Z* D1 c$ x/ {& X. ]! g+ u' t - cd /etc/apt/sources.list.d
* |: y6 A/ n* ~8 { - echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
, w2 {. [ n+ r, V& x1 M4 n - apt-get update2 `& u4 q3 Q, ~: |! a5 ]
- apt-get install ia32-libs2 }" `# s: Q) Z$ @" [: z) J
: p) d) V2 p0 Z7 l- x- apt-get install dpkg-dev
# |/ S$ O! m5 C* c4 ~8 V' s - $ f2 K0 L. ^. ]6 ^( z) L/ E; F
- 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
4 m& j7 F* }" i1 _1 K' L: ]
复制代码 2、安装JDK和SDK- g/ I) s) }) Q2 |5 r
: `5 m! ^# I+ P D4 J- w2 {4 e8 e
从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/
g9 }, n( r& |, ~2 i - chmod a+x jdk-6u23-linux-x64.bin
# ~4 n6 y( G6 `: R - ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip' V* M# n3 i$ a- @! w
如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip% D% d$ H9 I* E
- cd adt-bundle-linux-x86_64-201403214 C" Z5 m$ W+ k. Y& b# q
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23: W: H& u1 ~- J s* |
- export JAVA_HOME$ y7 s. a/ o; s2 ~" s3 w
7 Z+ E* v; J8 d6 @& a4 N, i6 m- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23+ w) g' E/ X# ]# |
- export ANDROID_JAVA_HOME5 I9 f4 h# b) i& Q* @& ]
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
" j, R- w3 s' t+ X
3 _" t6 E1 G7 s0 c; ?& A3 C& d$ i- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH+ b9 j3 r+ i, J) b3 }* b# p
- export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s
0 Q* a* |" d- c8 t/ e& V$ C - apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib
2 I* z( @0 u# q8 T8 L7 c - cd /usr/bin/
5 L7 F1 k% i# Q/ a! g - mv gcc gcc.4.8
2 u7 S7 \% m8 k. Z V - mv g++ g++.4.8
4 J: N1 a0 f/ M, I% J0 T - ln -s g++-4.4 g++. W1 h$ ]/ b) T
- 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.
- n: K- ?( s/ M - 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
复制代码 按以上顺序,编译即成功.' Z) @7 X+ h9 |8 i8 @% o
|
|