|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。
: `0 t8 S9 ^4 q0 Y- r- A7 R6 C* Z. P1 z
q; v) g0 p: c* P6 W: f一、for MTK8382
' @) w3 J* H, \& p9 C- C/ U( ?$ x& ?0 Y3 ^0 C( J8 m% K
1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i5 @7 J8 O2 B y! i2 S8 _
- cd /etc/apt/sources.list.d9 n" y- s9 ~2 a' f0 L; p
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list) K4 e, j- u# l5 S
- apt-get update4 d7 l+ i7 l( }
- apt-get install ia32-libs* J+ b* }' `6 i
: x& |$ j& k: i3 w$ J: H7 @- apt-get install dpkg-dev
1 e6 s/ ~5 P- L) ]8 J6 p - / i" t) g) l* N' H5 z/ ?8 ?3 v
- 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/ }& D, v7 ~, a# O5 m- F4 O b
复制代码 2、安装JDK和SDK) v: b- p" x: z( x& a
2 W3 h1 ]* q9 J
从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/
+ z. b; q8 N- J$ \+ X ~2 ~" j - chmod a+x jdk-6u23-linux-x64.bin
" T% p6 R2 d, w0 o3 `9 I! S! `7 d - ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip1 [9 t! N. w# o" W& J3 ], P% L [1 V1 U
如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip8 I/ L. F, d5 M7 b# G
- cd adt-bundle-linux-x86_64-20140321
; L; e8 W- N* j( U3 p# _ - sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23
) x J' ]8 M- e0 O$ {6 V - export JAVA_HOME
d/ l9 ~3 E1 \' L# ]0 y$ @
9 s! {/ ^7 G+ n- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23* ^ @5 K+ N' g1 k
- export ANDROID_JAVA_HOME
$ `( r8 ^8 {0 v' P* j - export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib s% S" n$ y' X ]
- - a2 W) |$ r& @- U) i/ p/ O
- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH
. B, A2 `* M8 S - export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s: Y0 ^4 k/ o- B
- apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib
7 u: H" j1 p% V. h5 f - cd /usr/bin/; @. W f) G; s7 z4 E$ G) d
- mv gcc gcc.4.8
, {: O6 B) O6 @% b: z. M - mv g++ g++.4.8
5 j1 z! m0 l& C - ln -s g++-4.4 g++
3 `/ \, v R" I$ K - 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.
7 }5 ?* w8 y; e$ T, ^* Y - 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
复制代码 按以上顺序,编译即成功.# d2 \6 C$ d, b
|
|