|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。$ P9 P3 w" T) C
4 S- z: K% J/ i4 y' l& g5 Y7 q一、for MTK8382* S ^( x! u! A
6 z. c) m7 {& w, z1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i
9 B2 D" S& x0 A _ - cd /etc/apt/sources.list.d- ^0 @9 T/ \& ], @4 D* W
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list+ D$ m" I* M9 Z* Y6 A
- apt-get update
7 C2 p; b) a; _! X - apt-get install ia32-libs. o2 U) d: B+ p
1 _; o9 r- s+ T* n$ ^' h7 B- apt-get install dpkg-dev6 A, p6 b/ N, P- X
- " l' A0 c0 j5 ?8 q3 J1 B4 c& y/ s+ n
- 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% z/ t d8 P2 ~' Y' E: u
复制代码 2、安装JDK和SDK
* v: e# u$ S* U w* F8 q( S' N% x7 p
从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/
9 k0 J& N; r: l% Q$ u, A; Q - chmod a+x jdk-6u23-linux-x64.bin" D( v% f" w+ \$ U& y
- ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip
+ i. {! a7 z: P. [; D" k如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip
1 z |! M( r4 x7 Q& i; D7 P/ I4 d - cd adt-bundle-linux-x86_64-201403212 }: P7 r4 m, T
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23, k; w$ y/ B# J. F2 T) x) P! E0 d
- export JAVA_HOME
2 C3 _! I( V) }1 O1 f3 n" W g
+ V0 U3 _5 J" k, H$ E; @) |- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23- K! y+ d- a; [/ W' g
- export ANDROID_JAVA_HOME4 X. E* m; W( y) T; P! Z8 L `+ d
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
' D2 }& M" h6 O; u! G - 4 o; {; f/ p4 z7 l" X' \
- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH
6 p4 b( _' m4 q U - export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s
0 _% \/ n4 F) m - apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib5 ]" ]; s8 L( Z! @
- cd /usr/bin/. [; o! j B$ A
- mv gcc gcc.4.8
: z1 I* [1 f1 E) t( Z- b: U - mv g++ g++.4.8
9 |0 c& k% K5 j - ln -s g++-4.4 g++
( K6 @' B" U, z/ 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.
0 i2 A. O, i. f7 `$ { - 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+ ?. u+ w/ ?4 K
|
|