|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。7 C, {- B# O/ I. I6 k- d M8 e3 _
: M% Y m$ ?( q
一、for MTK8382
2 d- o5 z. \& p5 z; L: W2 g
8 w5 O8 O0 l8 e1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i+ p$ i" s' Q! A; L2 K
- cd /etc/apt/sources.list.d
3 ^+ p8 X. f9 m3 C1 e& m1 w - echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list6 p6 x! O; M, F9 P) g, l- B5 j/ m9 x# J
- apt-get update
4 d" \# S$ C" I - apt-get install ia32-libs4 A+ M8 E+ B4 O
- ; t$ _4 \( K4 e3 c" C& Z
- apt-get install dpkg-dev
- S$ N6 W1 D+ |; b, N+ ]( ~4 C - % J" G; B( C% F5 j. Z& v- L( ~
- 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& U, I+ P, J2 G( ^' m* w2 c0 \2 J% L
复制代码 2、安装JDK和SDK$ B. B% d2 p9 }5 R, Q
4 F9 {5 E$ s L" ~4 r
从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/
% |- S- R9 Y) u4 a2 O6 i5 L- Q - chmod a+x jdk-6u23-linux-x64.bin! ]8 q, M* @6 Y q4 V6 R, K
- ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip9 {. U; y) I2 c8 {- F1 q2 F. d
如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip3 A* Q' m9 ~9 X/ U" ~% Q- ?
- cd adt-bundle-linux-x86_64-20140321: D2 a% y+ D& J6 l3 \ d% ]
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23
& X( r* B) F7 f: {7 { - export JAVA_HOME; z3 |4 F, } n
- * i/ u3 M$ D% d7 B. _1 ]
- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23
* O" @! s# m0 v1 n3 i - export ANDROID_JAVA_HOME
! h% O3 l. \. h9 `4 S' Z$ ~ - export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
$ M1 [3 S: j9 R; ~/ f" w
$ a: N3 E7 J' f1 P5 c4 R: [- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH
! {8 z+ Q9 o# k, Y( U& \ - export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s, M( {0 X, X; t6 g
- apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib' o& E* j) _+ J. e& k
- cd /usr/bin/
( k/ C( N% R& o( \ - mv gcc gcc.4.89 c5 ^4 H* W/ m5 D6 j; D' v
- mv g++ g++.4.8
9 N, s% v) N! b2 L& I - ln -s g++-4.4 g+++ m) i. L0 z6 ^" P' J' 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.
' l" I/ k! _# F' l/ J3 f$ x; t - 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
复制代码 按以上顺序,编译即成功.
* T2 N( @6 K* ~2 _ |
|