|
第一次玩Android,弄来一点资源,碰到一些编译问题,为此,将搭建ubuntu 14.04 LTS版本的编译环境,做个记录。
3 b0 E* h) \- [' E5 R0 C9 j9 R7 n3 E. @, P7 L; Z4 i \7 |4 {: L9 H
一、for MTK8382
8 ?/ s) F8 a& Y! ?' v4 ^# c. A* s; j, _5 b- D7 q1 t
1、安装完OS,保持网络畅通,安装ia32老的库和相应的开发工具及库,- sudo -i Q2 Q" _5 @/ G4 o+ Z* l
- cd /etc/apt/sources.list.d/ x/ {( q7 o1 s2 e4 a I J
- echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
3 ^2 y& r' v* d$ g1 T - apt-get update5 J" G( u( |0 L+ |
- apt-get install ia32-libs/ K/ l( v' G0 b9 A' k6 P7 F
- * o; B: t+ f4 V: s3 _9 R; d0 {" u
- apt-get install dpkg-dev
- r( B4 |( X7 c+ \4 x
L) E$ Y" w2 z! z" [0 a- 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
) ?# s- O& ~$ A1 |
复制代码 2、安装JDK和SDK
2 W7 P6 D" V" N; p' m/ B& K5 @
9 x$ d! }; ]7 m( R' Y. z0 ~" t从Orace网站上找jdk-6u23-linux-x64.bin :http://www.oracle.com/technetwor ... javase6-419409.html- cp jdk-6u23-linux-x64.bin /opt/" I( Y9 o* d% |& l6 |/ g: m \
- chmod a+x jdk-6u23-linux-x64.bin
& G* m. x) h B. [9 g - ./jdk-6u23-linux-x64.bin
复制代码 google官网上下载adt-bundle-linux-x86_64-20140321.zip : https://dl.google.com/android/ad ... x86_64-20140321.zip) G& T* V3 L; y% {
如果下不到,可能需要翻墙,或者在网上搜相应的文件,找到下载即可- unzip adt-bundle-linux-x86_64-20140321.zip& a0 J* Y* ?# y+ B% J- @7 D
- cd adt-bundle-linux-x86_64-201403218 f4 \- L' z) _5 }1 p: F6 n) G
- sudo cp -r * /opt/
复制代码 3、改变shell环境变量增加如下内容- JAVA_HOME=/opt/jdk1.6.0_23% O6 s, r$ W$ `# U& s3 Z( o1 j2 Q* {6 [
- export JAVA_HOME
6 i+ l/ }+ `' L - N+ g' ]0 ~6 [2 k4 |8 b
- ANDROID_JAVA_HOME=/opt/jdk1.6.0_23
' u, q( f/ d! {' j" @ - export ANDROID_JAVA_HOME: D8 V$ k+ M/ ~
- export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib# z1 u6 l6 j5 T7 z
8 Z8 e( z* {; Z; B, z# q- PATH=/opt/jdk1.6.0_23/bin:/opt/sdk/platform-tools:/opt/sdk/tools:$PATH
, N7 H5 b; r7 i& I3 O - export PATH
复制代码 4、安装gcc 4.4,并使用此版本- sudo -s* p4 m% V! _ _/ v$ U
- apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib5 K1 E5 M3 F! ?6 `( j; u* ~: _
- cd /usr/bin/
8 g8 X, L. e5 k! ^9 g# E - mv gcc gcc.4.85 E' _* X$ v# y, ?9 S& S9 q
- mv g++ g++.4.8. ?1 y7 V7 D3 e K$ u5 U) T( ?, @
- ln -s g++-4.4 g++
' f/ ?! ?3 k- A5 W5 @4 q - 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 G+ p1 J& }# L
- 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
复制代码 按以上顺序,编译即成功.& a9 b0 u6 s, `* u2 O/ O. `: G3 _
|
|