|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。7 f+ {! ]; V2 k6 T* x% \
: u# O5 A6 H N* C; x+ x/ ?$ e/ ]" I
一、for MTK8382- q y- N+ ?' b& b8 l
3 g3 w; r) a0 E: h( ~6 ]7 g
1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i6 o0 Z& ]' x3 J2 M6 }6 }- W& |# n
- cd /etc/apt/sources.list.d
" y. f& p& K* B' [ B - echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list2 A/ n$ E4 s0 v8 j
- apt-get update
, i5 F& e3 j# ~6 z$ i; j, ~ - apt-get install ia32-libs
1 u% G) s9 n/ r( ?6 l2 m+ S/ s: o - ) d( x% g3 q) |( v6 ^# z
- apt-get install dpkg-dev
3 e5 l- J7 d. P+ h! L9 T* y
$ I1 T/ z7 O8 S0 y2 s- 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" _$ C* k8 P" u
复制代码 2、安装JDK和SDK
2 q8 Q: G5 e. \
8 ^5 o! g! ^5 @5 H从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/
8 ~- U* O2 G9 Y" v - chmod a+x jdk-6u23-linux-x64.bin& H9 x% M/ l! _, q/ Q
- ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip
% x7 b- l' f6 Z4 o如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip
. p5 k; H7 B. x6 ~5 H" P - cd adt-bundle-linux-x86_64-20140321
6 h: W* ^6 q% v4 n - sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23& c/ e j2 }0 e6 x- T4 i; t
- export JAVA_HOME; \; B% \; C% ]8 ~( H1 s7 D+ Q, l
- $ z i' K- h. Q5 U
- ANDROID_JAVA_HOME=/opt/jdk1.6.0_239 e% G$ m6 d( P
- export ANDROID_JAVA_HOME
4 [% I* n6 Z; U! j. E7 q+ D/ U - export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
& `' @# R3 B- w# x
/ V9 F8 p3 h! ~ Y- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH% D% D! I4 v9 b
- export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s/ o. e* w% a* X# L( n5 }: M
- apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib0 l6 \9 s: a, ?/ z* w9 h
- cd /usr/bin/ @* D5 _1 x3 f# |1 k! L
- mv gcc gcc.4.8
* Z, y4 {5 l7 e a4 Y - mv g++ g++.4.8( A" W; N! Z* K' d: X
- ln -s g++-4.4 g++, W* P0 u' ?4 T: c" ?8 e& f( J
- 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.
: j6 f+ X3 R* [4 ]/ m. J, C$ f - 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 D( }$ t7 s5 I i8 N, L. P
|
|