|
|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。
0 x/ k- j$ U2 K# c0 x
/ \1 y2 ~+ K, U+ {; v# a" [% v一、for MTK8382; F1 s( E2 P w; R
6 e; H! o) b6 W# `$ r6 m1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i
0 F* C _) \$ u) ^5 c" h0 ` - cd /etc/apt/sources.list.d
+ b$ ?! p* J: L! F) d. L- D/ T$ B - echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list2 Z, w3 B3 k" O/ l
- apt-get update" T0 h" m# K+ o8 f8 r
- apt-get install ia32-libs$ x! O! ^2 |8 i9 [7 M3 ]- @
7 d7 {1 s9 c2 E' i- apt-get install dpkg-dev
" l6 U- I' |, U D+ ]2 Y, Y; M
4 y( _& T8 h k1 H5 F# `- 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. O; d6 C+ C6 c
复制代码 2、安装JDK和SDK9 \% K2 l+ C/ k$ ^; n7 E( ?
" [2 V4 N1 w. Q6 {& {7 y: b从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/! D$ S2 V5 }/ J4 y( |
- chmod a+x jdk-6u23-linux-x64.bin
+ R3 V. Q7 y$ A - ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip0 f, ^" m5 b' J% j4 N
如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip
6 {6 n1 V2 g3 v! K - cd adt-bundle-linux-x86_64-201403214 w, j( O/ N0 x# K0 W) Y4 p6 {1 Z
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23. }) Q6 `6 ?" L
- export JAVA_HOME
Z& S& ?: _/ X2 X - 6 Y* D& H5 o7 u6 F! O: ^* w7 [) o
- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23) h' Q% N$ D1 e& Q$ u0 C2 o
- export ANDROID_JAVA_HOME7 d/ d5 a- m3 A% I' v4 |6 G
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib/ t: c# M/ v1 B5 J" p
! `" t0 ?% O! ]3 J! L. T* ?9 U- `- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH: C: U+ z W6 T' K
- export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s
1 v6 H* X/ [- V2 r' Q7 J2 C" F1 ?/ v - apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib: z. [: U/ R* u4 V- Q6 m; p) A- q+ g
- cd /usr/bin/
`% t6 ~* D6 ^3 f+ Y! ]# Q2 C - mv gcc gcc.4.8
7 B5 k% Z7 p; c0 C - mv g++ g++.4.8" c1 N+ ^/ O% i7 V
- ln -s g++-4.4 g++3 U% o% N+ s T- c! l/ q* D
- 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." h/ N% N b4 b* M- H
- 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 v# `: {+ s% p4 _
|
|