|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。
( U- q; s7 J* i9 d8 N3 b
* J( v# @" M* }% C. ]1 ^5 Y3 R一、for MTK8382
M2 C6 H! F8 @9 r% U( q a+ u6 T+ a9 O. j( C# j
1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i6 h7 [& i; T" l& y+ ~3 H
- cd /etc/apt/sources.list.d' y4 x+ C) s0 G" o6 _2 G
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
7 y# w; Q. U" v C. p- R9 R/ E7 I- ? - apt-get update
( T# n& H5 u9 p y - apt-get install ia32-libs
/ T1 q8 d0 B# M& \1 v
( S, d5 c4 V6 D: t0 O- apt-get install dpkg-dev
! e% p$ y; H. ^2 E5 N
) H: V1 ]! l2 L3 W# ^( R7 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:i386. B/ k: Q/ L+ G& I
复制代码 2、安装JDK和SDK
" T* F( x$ J+ M
/ @5 {7 A, i+ a: h! @# F( p从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/! N0 C3 {. @) N- f3 r! r( k
- chmod a+x jdk-6u23-linux-x64.bin
; ~# L! C+ L4 a$ B6 e- e; V6 I. o - ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip1 |: _# V3 G. `# T: e- w& U$ b
如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip! T: ~+ y/ ^4 V% J* T6 ^5 q/ ]
- cd adt-bundle-linux-x86_64-20140321 {. s: `- V+ A. o
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23
5 E( m2 ~ X5 n+ P: y: y6 N - export JAVA_HOME4 z \5 r2 z) S; c% e) y
; Z# [4 l1 U8 M! s9 G- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23
1 T! A6 ^7 E# E, g4 V N+ M2 H - export ANDROID_JAVA_HOME m. {7 G/ D$ J2 m' Y
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib7 N1 y& F) e0 z4 P7 W B
- 1 u; W! A. t2 Z, A
- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH' p- w F$ E8 o( X9 ?
- export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s! h9 J- f/ k- r3 N- \
- apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib7 q" ^& m$ W- m, K
- cd /usr/bin/3 ]8 i2 L0 \. B2 W1 d8 z1 d. I
- mv gcc gcc.4.8( C$ s5 g1 o s, O% Z
- mv g++ g++.4.8
: e+ X7 D+ ~4 E* }' l y) K, u/ L - ln -s g++-4.4 g++
- k; [& C; |* T* t' }5 } ? - 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.
# z+ A/ N4 p" J( E$ 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
复制代码 按以上顺序,编译即成功.0 B: {4 `$ U r6 \
|
|