|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。) z! i; q. n) O2 h% J; [
- s, O( n; p( D& G- e0 W9 I3 ~* e u3 n一、for MTK8382
& H# m4 \8 `2 x, ^$ J; L0 E
5 ?' n5 B+ ]4 y6 ]7 w0 r1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i) p2 [) L7 q$ \
- cd /etc/apt/sources.list.d' Y! c% S3 L- W+ Y! X
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
, t- M5 U* z( ~8 e - apt-get update* n& E9 ~0 T% Y6 k* |$ V
- apt-get install ia32-libs
# {, _6 A: X" @; {1 r$ I8 Y
" b0 G' Y0 I# ?: K; s. V" C1 [6 `- apt-get install dpkg-dev
! L2 }3 g$ L1 P$ r! p& @" Q+ m( N - $ B* d5 o8 G; v$ ~- k! u6 K
- 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# @' n) h1 f! r. a4 C
复制代码 2、安装JDK和SDK: I( y! [! p$ s# H& k; ^) h+ D3 o
$ Q& E& q* Q/ m6 H& J( u
从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/3 U) a5 H& I* Y7 N
- chmod a+x jdk-6u23-linux-x64.bin
$ w! v" {' I" _; _ - ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip
" C! X# O7 ~8 b: C) S如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip
" }" U& P. ]2 ^, ^- }+ B! V - cd adt-bundle-linux-x86_64-20140321' z5 E, Q. p% X; M
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_238 n8 c: q0 T$ S( ^0 d
- export JAVA_HOME
^4 J4 ~# V2 [" C$ P1 r2 g - 7 k( [- k8 ?, Y9 d: \
- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23
7 R$ D1 u h, C Q* q - export ANDROID_JAVA_HOME2 h5 d- F$ Z! s
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib% s) s) b5 x% ]9 B4 a7 Y, h" f! w. C
) _; Y* T* w3 D* o; p* E3 W$ n- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH
: {. X3 h: J# |- E - export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s
0 G# ?6 u) |9 ~ - apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib
$ B' {9 m3 i! n: q: { - cd /usr/bin/
* L( |* ]/ t9 @$ p0 o5 w5 K. S - mv gcc gcc.4.8& ^# a$ d$ W+ n6 E; l, ?, I
- mv g++ g++.4.8- q, d+ g" `. u
- ln -s g++-4.4 g++! F. ~2 T8 L* F/ ^
- 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.! B) c/ z" b7 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
复制代码 按以上顺序,编译即成功.3 _# ^, I0 y$ p; ?. z. U: K
|
|