|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。& S9 g( }) e0 F+ j, e
* W- w9 d: S; }; |. {: U$ X1 b
一、for MTK8382% Q0 j4 g; Z& w$ O a* \
, F6 i& N" x* d1 ~1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i
$ a" N9 h T. U" A! A$ x: c - cd /etc/apt/sources.list.d1 S3 w" Y( _0 r3 t0 T% B9 a: @
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
1 ~- Y, y q: ^( I: ^# Q - apt-get update
q' ?, M! g& k$ [( Q4 y - apt-get install ia32-libs
" Y. C2 U3 e9 J1 i8 W" I
8 E7 T" N2 B& W+ D( G$ y- apt-get install dpkg-dev
/ r& c3 b" @+ p0 x9 p5 y5 k% m - . L* C, m+ g: c% g: L& I
- 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
& m' w( V! G9 |( h! d; Z
复制代码 2、安装JDK和SDK$ W8 R- z# o2 K- { ~- r% H3 V5 ?
2 G& J4 p$ ?" B$ C从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/
/ J( L& n/ u" f0 K- G2 Y. }6 q4 ~ - chmod a+x jdk-6u23-linux-x64.bin
& \7 w' k3 F8 C. ^: T6 K - ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip
8 g; w Z: S. Z( D) M) i1 I如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip+ j/ Q; H U: @) H6 s
- cd adt-bundle-linux-x86_64-20140321
( i' V2 n. j6 ^3 R - sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23
" d; T. c N9 U) T* D6 L2 h - export JAVA_HOME
4 N0 J2 i5 x8 {- _# |* ~ - ' m9 W# b2 w I3 y+ l% U
- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23
$ ^* y4 V# J2 g2 a- _# q& h5 B - export ANDROID_JAVA_HOME
j( `) d! ?( F/ h9 P! S - export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
5 a, r2 p5 D, {: n) ^% D; _2 m
; Q8 m+ c2 v: S' T* z- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH
' t/ _) u2 ^; W |; Y" c5 [ - export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s
& E6 c) c2 e! G- o9 t$ D - apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib* y$ [. z* [% B Q, T' E
- cd /usr/bin/2 i$ `; o" m- w/ Q5 k
- mv gcc gcc.4.8
# b+ s, h. w6 e. @ - mv g++ g++.4.8
2 O/ Q; B' |+ m8 t# R! a6 b8 t - ln -s g++-4.4 g++/ @" J2 P/ V+ N9 e" N! Z; G
- 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.
' g2 y z% c: A6 t b; @; J - 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
复制代码 按以上顺序,编译即成功.
. N1 u( e3 }7 I |
|