|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。
5 X9 ?7 X; x$ u- L3 |- b; [# j5 Y5 N d) E+ q8 D9 C
一、for MTK8382, a: p. j" C! ?. [! ~+ a
, U5 z1 K6 E& O- f- F0 y1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i" r7 y3 ^5 @& c- v! p2 _
- cd /etc/apt/sources.list.d
- B0 l) w E2 z' G2 o/ q3 r2 p' c- f - echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list/ u+ B' p) t8 R
- apt-get update
' j* l9 M; a, p3 k9 r - apt-get install ia32-libs
6 \' x. M+ q! O* Z
8 ~- l) Q! E1 N1 z3 n. _- apt-get install dpkg-dev
: c x/ y) R9 t$ d% [ U7 p
5 c" } J- m4 P1 H' p* f) h- 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
. p: l% J- P" A: M: h: t( H& P
复制代码 2、安装JDK和SDK
1 b; I5 \0 g* Y) t1 g u. b& T& o4 n
从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/! f2 x5 [2 i6 B6 k3 f
- chmod a+x jdk-6u23-linux-x64.bin
W4 `+ I, k2 k' {, ^ - ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip
$ v/ @0 {9 B6 t* h如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip
/ j9 c$ i2 \- I% y) v1 E - cd adt-bundle-linux-x86_64-20140321* ?& e5 T) D% Z4 A
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23
# v/ F l1 v3 ~2 f5 c8 ^( q - export JAVA_HOME& u2 n: n4 R T2 M4 p! W
2 u/ B9 l8 \0 r5 Y- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23
. r- _+ u/ b8 v: h6 C* X6 `& u) a - export ANDROID_JAVA_HOME$ v( ?) U4 W3 ^1 h* C4 k
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib2 k# J: i& Z# L% @4 w! B
- - _& i2 s. D+ V2 K
- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH; H& R# ?/ w3 a
- export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s& |4 A/ E/ R, E: G; `
- apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib
! v, s% z% u o: e$ J$ { - cd /usr/bin/
2 \8 K/ Z/ h* P% S - mv gcc gcc.4.8# ?1 o7 o3 I8 t, K
- mv g++ g++.4.8
- P) i; I( j5 b# j - ln -s g++-4.4 g++
9 `! ? t! ~1 u - 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.
4 F5 s% A: k" R& L7 q1 T7 B - 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
复制代码 按以上顺序,编译即成功.
, o1 U- \3 O0 h' h, @& r0 ~+ ?. c" b) _ |
|