|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。
6 k% p& n* A: W R
# Z# O* H8 a8 L! M* R2 R一、for MTK8382
' y# D$ w2 S, H$ k, o3 p
# M z! q0 z9 r2 I1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i
3 x! j* p5 Q1 u' ^4 q, p0 [4 c/ W' F4 F - cd /etc/apt/sources.list.d
0 b" I' o# I& f - echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
/ `$ `4 l& J$ k, L - apt-get update
9 M W5 \, r/ |' B - apt-get install ia32-libs
: i T3 s$ `- d
$ D/ ]& x) {" _- apt-get install dpkg-dev2 |" e$ q0 l( t2 J+ M# E
+ \- ~* |, R! r' [$ }& C2 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:i3868 {. k! h8 s y ]3 @" E' Y& @
复制代码 2、安装JDK和SDK$ Z% S+ F. r9 d" T5 L( B
' \( i+ e- X- m, v- f$ }* K$ F
从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/
5 b& e% X: q1 T% B8 Z - chmod a+x jdk-6u23-linux-x64.bin: ~4 C4 @( V0 S$ S1 C
- ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip: I3 \; H- y5 T% L( K5 _
如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip" n2 r' o# x! U: f1 |( L: I
- cd adt-bundle-linux-x86_64-20140321
$ `( D; I) L5 b9 t) S* O - sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_233 Z: _" D3 z! Q4 O0 |" s+ i
- export JAVA_HOME
2 B0 L1 s; c/ A
9 l' l( L, V* b5 h- ANDROID_JAVA_HOME=/opt/jdk1.6.0_235 B) y y6 V3 i4 n& K7 z7 q: F
- export ANDROID_JAVA_HOME; B6 C& k- } a2 u3 I, s* v
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
) {0 i0 |( f; a( y
& N) I4 U K3 `: m- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH6 X# v5 E( U& c. I' ~# C) S# g
- export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s
2 C6 |5 t5 ~6 v* I* S* |3 Q: X& H - apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib( {3 q. E$ @2 p6 k2 H% w
- cd /usr/bin/6 C* N+ r. w7 p+ e* \+ ~, H
- mv gcc gcc.4.84 e) G1 P" l% z0 x, e
- mv g++ g++.4.8 m! |( S4 |: W3 B
- ln -s g++-4.4 g++
@: w6 n/ \9 ]: q3 ?6 c - 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.$ t9 ^2 {1 D; Z( B" m6 n
- 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
复制代码 按以上顺序,编译即成功.# r; V( R# T0 M$ j& Z
|
|