|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。5 [7 T+ X8 J& N1 Z" v+ l @; y
( T! q+ v1 j6 ^
一、for MTK8382
. Z, W# T- n/ h. F, q8 e/ a+ a9 i0 q1 P3 W; I
1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i
% r" L" F5 l8 |* M% y - cd /etc/apt/sources.list.d3 J; e) Q( p/ l; K* C3 _
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
: J( y$ f0 T# ^; S' r5 ` - apt-get update) _5 B" F$ T" B j, o+ y) M3 _9 X
- apt-get install ia32-libs
: m% l) k+ \& s
2 _5 a- O" q. T3 S$ g- apt-get install dpkg-dev
0 X1 M. ], o. B; D8 u% h - . N$ {: `$ }+ O- y* R
- 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:i3863 n2 M& j- z# x2 P s) x6 T$ ^
复制代码 2、安装JDK和SDK5 x0 M) U% u' i3 q+ B: B
' O& M; V% d0 s4 |, e: |+ J
从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/
- [, B6 W7 a) h) R - chmod a+x jdk-6u23-linux-x64.bin* u& v' q3 q. R( ]
- ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip
' }6 O% k: Q7 p# X/ ?. |如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip
% W8 g8 @. H4 M4 [8 ^3 V1 [0 Q - cd adt-bundle-linux-x86_64-20140321
2 I% V% @6 R) a# p - sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23
4 i: O( ~5 f" J- D% ?7 G - export JAVA_HOME3 ~+ L6 {" s1 Y* l+ [$ S% a
- 0 T- p9 H N+ |0 L* X
- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23
& |; @, E8 W0 L; \ - export ANDROID_JAVA_HOME1 F# c* b, p4 x
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
' Q z2 a1 `9 j G( e& b, x
% N0 c/ w0 t& ~* E# P# m2 m- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH
, |( c3 c; l2 q" f7 I - export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s, _4 p' T2 D4 @
- apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib6 R3 Y. c* { s0 d) m0 @
- cd /usr/bin/
% J, K! ]1 W$ E9 H% [3 _5 u5 f - mv gcc gcc.4.8
* C7 g4 [+ V) `* f- c - mv g++ g++.4.8
, q M( D! q. { - ln -s g++-4.4 g++
8 L& R3 S4 |- E0 e- v$ G# g1 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.
7 D) J+ l: q1 i. }& i2 M+ j8 I4 i - 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
复制代码 按以上顺序,编译即成功.% O% ?' m2 ~" D+ V
|
|