工具的安装:
1.右键终端:shanl@ubuntu:~$ sudo apt-get install nautilus-open-terminal
2.安装vim :shanl@ubuntu:~$ sudo apt-get install vim
vim的设置:shanl@ubuntu:~$ gedit .vimrc
下面是我的配置:
set helplang=cn
set langmenu=zh_CN.UTF-8
set encoding=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set nocompatible
syntax enable
syntax on
colorscheme desert
set mouse=a
set selection=exclusive
set selectmode=mouse,key
set showmatch
set autoindent
set cindent
set tabstop=4
set number
set nobackup
set noswapfile
set hlsearch
set incsearch
set autochdir
set tags=/home/shanl/idh.code
cs add /home/shanl/idh.code/cscope.out /home/shanl/idh.code
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
hi cFunction gui=NONE guifg=#B5A1FF
syn match cMathOperator display "[-+\*/%=]"
syn match cLogicalOperator display "=="
syn match cBinaryOperator display "\(&\||\|\^\|<<\|>>\)=\="
syn match cBinaryOperator display "\~"
syn match cBinaryOperatorError display "\~="
syn match cLogicalOperator display "&&\|||"
syn match cLogicalOperatorError display "\(&&\|||\)="
hi cMathOperator guifg=#3EFFE2
hi cPointerOperator guifg=#3EFFE2
hi cLogicalOperator guifg=#3EFFE2
hi cBinaryOperator guifg=#3EFFE2
hi cBinaryOperatorError guifg=#3EFFE2
hi cLogicalOperator guifg=#3EFFE2
hi cLogicalOperatorError guifg=#3EFFE2
syn keyword cType My_Type_1 My_Type_2 My_Type_3
set cscopequickfix=s-,c-,d-,i-,t-,e-
nmap <C-_>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>
环境的搭建:
1.安装Git工具:shanl@ubuntu:~$ sudo apt-get install git-core gnupg
2.安装Java SDK:
shanl@ubuntu:~$ sudo add-apt-repository ppa:ferramroberto/java
shanl@ubuntu:~$ sudo apt-get install sun-java6-jre sun-java6-plugin
有可能会出现一些错误,解决:
sudo gedit /etc/apt/sources.list添加:deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse
再执行sudo apt-get update即可
shanl@ubuntu:~$ sudo apt-get install sun-java6-jdk
64bit ubuntu我使用的包:jdk1.6.0_37_64bit.tar放在Env目录下:
解压:获取jdk的路径:/home/shanl/Env/jdk1.6.0_37
在.bashrc中设置环境变量:
export JAVA_HOME=/home/shanl/Env/jdk1.6.0_37
export ANDROID_JAVA_HOME=$JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
使用java -version进行测试。
shanl@ubuntu:~$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
3.安装其他包:shanl@ubuntu:~$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
4.安装调试工具:shanl@ubuntu:~$ sudo apt-get install valgrind
Android源码下载:
一、下载repo工具
1.shanl@ubuntu:~$ wget https://dl-ssl.google.com/dl/googlesource/git-repo/repo
2.shanl@ubuntu:~$ chmod 777 repo
3.shanl@ubuntu:~$ sudo cp repo /bin/
二、Android源码下载:目前我手头上面有一份。具体下载方法可以参考网上各位大神。
三、编译:
make
编译错误解决:
错误1:
/bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 没有那个文件或目录
/bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 没有那个文件或目录
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
host C: acp <= build/tools/acp/acp.c
In file included from /usr/include/stdlib.h:25,
from build/tools/acp/acp.c:11:
/usr/include/features.h:324: 致命错误: bits/predefs.h:没有那个文件或目录
编译中断。
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1
这是由于我使用的是64bit的Linux,里面的编译器是32bit的。需要安装库:
sudo apt-get install ia32-libs
sudo apt-get install lsb-core
sudo apt-get install libc6-dev-i386
编译器版本:
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
gcc:
sudo mv gcc gcc.bak
sudo ln -s gcc-4.4 gcc
g++:
/usr/bin$ sudo mv g++ g++.bak
/usr/bin$sudo ln -s g++-4.4 g++
错误2:
echo out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/pseudolocalize.o out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/CopyFile.o | xargs ar crsP out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a
host Executable: acp (out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp)
g++: selected multilib '32' not installed
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp] 错误 1
安装库:
sudo apt-get install g++-multilib
sudo apt-get install libc6-dev ia32-libs lib32ncurses5-dev x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils
sudo apt-get install g++-4.4-multilib
四、编译SDK:
make sdk
五、安装编译好的镜像到模拟器上:
回到根目录:vi .bashrc加入:
export PATH=/home/shanl/Android/android-2.3.5_r1/out/host/linux-x86/bin:$PATH
export ANDROID_PRODUCT_OUT=/home/shanl/Android/android-2.3.5_r1/out/target/product/generic
注意:/home/shanl/Android/android-2.3.5_r1/out/host/linux-x86/bin目录里面有模拟器命令emulator
/home/shanl/Android/android-2.3.5_r1/out/target/product/generic :镜像的存放目录
执行emulator即可启动模拟器:
也可以指定镜像:
emulator -kernel ./prebuilt/android-arm/kernel/kernel-qemu -sysdir ./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img