Linux下Android开发环境搭建详细步骤
1、系统环境
[android@localhost ~]$ uname -a
linux localhost.localdomain 2.6.32-71.el6.i686 #1smp wed sep 1 01:26:34 edt 2010 i686 i686 i386 gnu/linux
[android@localhost ~]$ lsb_release -a
lsb version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
distributor id: redhatenterpriseserver
description: red hat enterprise linux server release 6.0 (santiago)
release: 6.0
codename: santiago
[android@localhost ~]$
2、准备软件
java
eclipse
android-sdk
adt
这些软件都可以在官网上下载。
3、搭建过程
(1) 安装java
[android@localhost ~]$ rpm -qa | grep java
eclipse-mylyn-java-3.3.2-4.5.el6.i686
java-1.6.0-openjdk-devel-1.6.0.0-1.21.b17.el6.i686
java-1.6.0-openjdk-1.6.0.0-1.21.b17.el6.i686
tzdata-java-2010l-1.el6.noarch
gcc-java-4.4.4-13.el6.i686
java-1.5.0-gcj-1.5.0.0-29.1.el6.i686
subversion-javahl-1.6.11-2.el6.i686
ooobasis3.3-javafilter-3.3.0-9567.i586
libvirt-java-0.4.5-2.el6.noarch
lpg-java-compat-1.1.0-4.1.el6.noarch
libvirt-java-devel-0.4.5-2.el6.noarch
mysql-connector-java-5.1.12-2.el6.i686
ant-javamail-1.7.1-13.el6.i686
java-1.6.0-openjdk-javadoc-1.6.0.0-1.21.b17.el6.i686
java_cup-0.10k-5.el6.i686
[android@localhost ~]$
通过命令查看当前已经安装了java的相关jdk,可以进行下一步。
(2) 安装eclipse
从官网上下载的eclipse不需要按装,直接解压即可使用。如:
[android@localhost base env]$ ls
adt-18.0.0.zip
android-sdk_r18-linux.tgz
android开发环境搭建(linux篇).doc
eclipse
eclipse-cpp-indigo-sr2-incubation-linux-gtk.tar.gz
linux环境搭建.doc
linux 下android 开发环境搭建 .doc
[android@localhost base env]$ rm -r eclipse
[android@localhost base env]$ ls
adt-18.0.0.zip
android-sdk_r18-linux.tgz
android开发环境搭建(linux篇).doc
eclipse-cpp-indigo-sr2-incubation-linux-gtk.tar.gz
linux环境搭建.doc
linux 下android 开发环境搭建 .doc
[android@localhost base env]$ tar -zxfeclipse-cpp-indigo-sr2-incubation-linux-gtk.tar.gz
[android@localhost base env]$ ls
adt-18.0.0.zip
android-sdk_r18-linux.tgz
android开发环境搭建(linux篇).doc
eclipse
eclipse-cpp-indigo-sr2-incubation-linux-gtk.tar.gz
linux环境搭建.doc
linux 下android 开发环境搭建 .doc
[android@localhost base env]$ cd eclipse
[android@localhost eclipse]$ ls
about_files configuration eclipse.ini icon.xpm p2
about.html dropins epl-v10.html libcairo-swt.so plugins
artifacts.xml eclipse features notice.html readme
[android@localhost eclipse]$ ll
总用量 540
drwxrwxr-x. 2 android android 4096 2月 17 03:06 about_files
-rw-rw-r--. 1 android android 18909 2月 8 21:55 about.html
-rw-rw-r--. 1 android android 88246 2月 17 03:06 artifacts.xml
drwxrwxr-x. 5 android android 4096 2月 17 03:06 configuration
drwxrwxr-x. 2 android android 4096 2月 17 03:06 dropins
-rwxr-xr-x. 1 android android 62814 2月 8 22:16 eclipse
-rw-rw-r--. 1 android android 407 2月 17 03:06 eclipse.ini
-rw-rw-r--. 1 android android 16536 2月 8 21:36 epl-v10.html
drwxrwxr-x. 46 android android 4096 2月 17 03:06 features
-rw-rw-r--. 1 android android 9022 2月 8 21:54 icon.xpm
-rwxr-xr-x. 1 android android 266168 2月 8 21:54 libcairo-swt.so
-rw-rw-r--. 1 android android 8951 2月 8 21:36 notice.html
drwxrwxr-x. 5 android android 4096 2月 17 03:05 p2
drwxrwxr-x. 10 android android 36864 2月 17 03:06 plugins
drwxrwxr-x. 2 android android 4096 2月 17 03:06 readme
[android@localhost eclipse]$ ./eclipse
启动eclipse之后,eclipse会自动创建并寻找workspace文件夹,可以直接点击ok按钮即可。eclipse的启动过程如下图所示:
eclipse也可以在gnome桌面下直接双击eclipse可执行文件启动。
(3) 安装android-sdk
[android@localhost base env]$ tar -zxfandroid-sdk_r18-linux.tgz
[android@localhost base env]$ ls
adt-18.0.0.zip
android-sdk-linux
android-sdk_r18-linux.tgz
android开发环境搭建(linux篇).doc
eclipse
eclipse-cpp-indigo-sr2-incubation-linux-gtk.tar.gz
linux环境搭建.doc
linux 下android 开发环境搭建 .doc
[android@localhost base env]$ cdandroid-sdk-linux/
[android@localhost android-sdk-linux]$ ls
add-ons platforms sdk readme.txt tools
[android@localhost android-sdk-linux]$ cd tools/
[android@localhost tools]$ ll
总用量 6772
-rw-rw----. 1 android android 323 3月 30 23:20 adb_has_moved.txt
-rwxrwx---. 1 android android 3491 3月 30 23:19 android
drwxrwx---. 2 android android 4096 3月 30 23:19 ant
-rwxrwx---. 1 android android 1977 3月 30 23:19 apkbuilder
drwxrwx---. 3 android android 4096 3月 30 23:19 apps
-rwxrwx---. 1 android android 3116 3月 30 23:19 ddms
-rwxrwx---. 1 android android 46724 3月 30 23:19 dmtracedump
-rwxrwx---. 1 android android 1940 3月 30 23:19 draw9patch
-rwxrwx---. 1 android android 24828 3月 30 23:19 emulator
-rwxrwx---. 1 android android 2814128 3月 30 23:19 emulator-arm
-rwxrwx---. 1 android android 2765428 3月 30 23:19 emulator-x86
-rwxrwx---. 1 android android 136860 3月 30 23:19 etc1tool
-rwxrwx---. 1 android android 3282 3月 30 23:19 hierarchyviewer
-rwxrwx---. 1 android android 9680 3月 30 23:19 hprof-conv
drwxrwx---. 6 android android 4096 3月 30 23:19 lib
-rwxrwx---. 1 android android 2015 3月 30 23:19 lint
-rwxrwx---. 1 android android 9676 3月 30 23:19 mksdcard
-rwxrwx---. 1 android android 3169 3月 30 23:19 monkeyrunner
-rw-rw----. 1 android android 379587 3月 30 23:20 notice.txt
drwxrwx---. 7 android android 4096 3月 30 23:19 proguard
-rw-rw----. 1 android android 66 3月 30 23:19 source.properties
-rwxrwx---. 1 android android 613856 3月 30 23:19 sqlite3
drwxrwx---. 2 android android 4096 3月 30 23:19 support
-rwxrwx---. 1 android android 3044 3月 30 23:19 traceview
-rwxrwx---. 1 android android 46784 3月 30 23:19 zipalign
[android@localhost tools]$ ./android update sdk
此处即打开了android模拟器的升级更新界面,如下图所示:
接下来的操作主要是对该模拟器中的相关包进行下载升级,需要的时间可能会很长(本人在进行升级时基本上会在晚上保持开机,因为android系统之间得不兼容性。当然,您如果只是针对某一个android系统版本,那会快很多。不过在以后也可以追加下载安装的。):
您可以选择aceept all:
点击install按钮之后,您会跳转到下面的界面中,其中,在该对话框的最下面,您会看到当前包的下载速度与进度:
androidsdk manager有时候也会弹出下面的log对话框,这里面可以看到更加详细的信息(您可以关闭该对话框。如果您下一次确实需要看,您可以点击后色按钮后面的那个按钮,管理器会打开日志对话框):
在android-sdk安装成功之后,在该目录下,android sdk manager会创建platform-tools文件夹,该文件夹中包含了您已定会用到的adb等android命令。
下载过程中,sdk menager会弹出如下图的站点认证信息,可忽略该认证:
在下载安装完成后,安卓sdk 管理器会弹出下面的对话框:
此时,您可以勾选标注为not installed的相关包,点击install*package可以安装您选择的没有安装的相关包,但此时安装的包大都需要您给出站点认证信息。相关信息截图如下:
至此,android sdk manager安装完毕。
(4) 安装adt插件
首先,您要启动eclipse;
在ide中点击help->install new software...打开eclipse的install对话框,如下图所示:
点击add...按钮,打开add repository对话框:
在这一步周中,您可一在location输入框中填入您下载adt的url。但此时,为了提高安装速度,可以先将adt下载到本地,然后点击archive...按钮:
这时,需要选择您刚才下载的adt(记得,一定不要解压):
在这里,直接点击ok就可以了:
勾选name中的developer tools,直接点击next,进行安装:
这时,就需要接受协议条款了,接下来直接点击finish按钮:
在安装界面,您可以点击details>>按钮查看当前的详细信息,此时在eclipse的ide界面的右下角也会给出进度提示:
插件安装过程中,可能会弹出来下面的警告信息,看完消息之后,您会和我一样点击确定按钮的:
安装完成后,eclipse会让您选择是否重启eclipse来应用您刚刚给ide带来的新变化,这就因时而异了:
重启进入eclipse之后,一般情况下,会弹出welcome to android development的对话框:
如果没有弹出该对话框,可以在window->perferences中的android进行必要的设置,
该设置项位于sdk location下。
这里需要设置的是target location,您可一点击browse...来浏览选择您之前安装的android-sdk-linux的路径地址:
点击确定即可:
接下来,就是简单的next:
接下来需要选择可安装的包,一般点击accept all:
这一过程安装完成之后,可以通过eclipse中的window->avd manager打开android virtual device manager。也可一通过tools下的android bash文件打开,不过可能稍微有一点困难,应该是不建议的打开方式。
设置创维m6的平板”驱动”
(请允许这么称呼,只是因为类似与windows下的驱动效果,如此设置后,既可以打开创维m6的adb使用)
1、使用lsusb命令查看系统的usb设备:
[android@bogon ~]$ lsusb
bus 002 device 005: id 0bb4:0c02 high tech computercorp. dream / adp1 / g1 phone (debug)
bus 002 device 003: id 093a:2510 pixart imaging,inc. optical mouse
bus 002 device 002: id 8087:0020 intel corp.integrated rate matching hub
bus 002 device 001: id 1d6b:0002 linux foundation2.0 root hub
bus 001 device 002: id 8087:0020 intel corp.integrated rate matching hub
bus 001 device 001: id 1d6b:0002 linux foundation2.0 root hub
[android@bogon ~]$
由此可以看出,进入debug模式下的0bb4是创维m6的id。
2、切换之android-sdk-linux的tools目录下,更新adb:
[android@bogon tools]$ ./androidupdate adb
adb has been updated. you must restart adb with thefollowing commands
adbkill-server
adbstart-server
[android@bogon tools]$
3、尝试查看android设备:
[android@bogon platform-tools]$ ./adb devices
* daemon not running. starting it now on port 5037*
* daemon started successfully *
list of devices attached
???????????? no permissions
[android@bogon platform-tools]$
可以看出,该命令执行失败,返回的结果,本人不知。
4、加入创维m6的id到adb_usb.ini文件下(必须拥有root权限,并且该文件存在于隐藏的.android文件夹下):
[android@bogon ~]$ suroot
密码:
[root@bogon android]# ls-al
总用量 200
drwx------. 34 android android 4096 4月 13 09:10 .
drwxr-xr-x. 5 root root 4096 4月 13 08:57 ..
drwx------. 3 android android 4096 4月 13 09:01 .adobe
drwxrwxr-x. 3 android android 4096 4月 13 09:18 .android
drwxrwxr-x. 4 android android 4096 4月 13 09:13 base env
-rw-r--r--. 1 android android 18 6月 22 2010 .bash_logout
-rw-r--r--. 1 android android 176 6月 22 2010 .bash_profile
-rw-r--r--. 1 android android 124 6月 22 2010 .bashrc
drwxr-xr-x. 3 android android 4096 4月 13 08:58 .cache
drwxr-xr-x. 6 android android 4096 4月 13 09:13 .config
drwx------. 3 android android 4096 4月 13 08:58 .dbus
-rw-r--r--. 1 android android 500 1月 24 2007 .emacs
-rw-------. 1 android android 16 4月 13 08:58 .esd_auth
drwx------. 4 android android 4096 4月 13 08:59 .gconf
drwx------. 2 android android 4096 4月 13 09:09 .gconfd
drwxr-xr-x. 7 android android 4096 4月 13 09:07 .gnome2
drwx------. 2 android android 4096 4月 13 08:58 .gnome2_private
drwxrwxr-x. 3 android android 4096 4月 13 08:58 .gnote
drwx------. 2 android android 4096 4月 13 08:58 .gnupg
drwxrwxr-x. 2 android android 4096 4月 13 08:58 .gstreamer-0.10
-rw-rw-r--. 1 android android 200 4月 13 08:58 .gtk-bookmarks
drwx------. 2 android android 4096 4月 13 08:58 .gvfs
-rw-------. 1 android android 310 4月 13 08:58 .iceauthority
-rw-r--r--. 1 android android 794 4月 13 08:58 .imsettings.log
drwx------. 3 android android 4096 4月 13 09:09 .kde
-rw-r--r--. 1 android android 121 6月 29 2010 .kshrc
drwxr-xr-x. 3 android android 4096 4月 13 08:58 .local
drwx------. 3 android android 4096 4月 13 09:01 .macromedia
-rw-r--r--. 1 android android 124 6月 25 2010 .mkshrc
drwxr-xr-x. 5 android android 4096 4月 13 08:58 .mozilla
drwxr-xr-x. 2 android android 4096 4月 13 08:58 .nautilus
drwx------. 2 android android 4096 4月 13 08:58 .pulse
-rw-------. 1 android android 256 4月 13 08:58 .pulse-cookie
-rw-------. 1 android android 218 4月 13 09:07 .recently-used.xbel
drwxrwxr-x. 3 android android 4096 4月 13 08:58 .redhat
drwx------. 2 android android 4096 4月 13 08:58 .ssh
drwx------. 3 android android 4096 4月 13 09:10 .thumbnails
drwxrwxr-x. 3 android android 4096 4月 13 09:10 workspace
-rw-------. 1 android android 50 4月 13 08:57 .xauthoxigcv
-rw-------. 1 android android 4401 4月 13 09:26 .xsession-errors
-rw-r--r--. 1 android android 658 12月 9 2009 .zshrc
drwxr-xr-x. 2 android android 4096 4月 13 08:58 公共的
drwxr-xr-x. 2 android android 4096 4月 13 08:58 模板
drwxr-xr-x. 2 android android 4096 4月 13 08:58 视频
drwxr-xr-x. 2 android android 4096 4月 13 08:58 图片
drwxr-xr-x. 2 android android 4096 4月 13 08:58 文档
drwxr-xr-x. 2 android android 4096 4月 13 09:13 下载
drwxr-xr-x. 2 android android 4096 4月 13 08:58 音乐
drwxr-xr-x. 2 android android 4096 4月 13 08:58 桌面
[root@bogon android]# cd.android/
[root@bogon .android]# ls
adb_usb.ini avd
[root@bogon .android]# vimadb_usb.ini
[root@bogon .android]# lsusb
bus 002 device 008: id 0bb4:0c02 high tech computercorp. dream / adp1 / g1 phone (debug)
bus 002 device 003: id 093a:2510 pixart imaging,inc. optical mouse
bus 002 device 002: id 8087:0020 intel corp.integrated rate matching hub
bus 002 device 001: id 1d6b:0002 linux foundation2.0 root hub
bus 001 device 002: id 8087:0020 intel corp.integrated rate matching hub
bus 001 device 001: id 1d6b:0002 linux foundation2.0 root hub
[root@bogon .android]# gvimadb_usb.ini
# android 3rd party usbvendor id list – do not edit.
# use 'android updateadb' to generate
# 1 usb vendor id perline.'
0x0bb4#该段的前面的内容为该文件原来保存的内容,只需在最后添加创维m6的id即可。
5、以root权限创建文件/etc/udev/rules.d/im-android.rules文件,并在其中添加下面红色加粗的文字,其中的含义,您可以猜得懂。记得给该文件赋予可读可执行权限。
[root@bogon .android]# cd..
[root@bogon android]# cd..
[root@bogon home]# gvim/etc/udev/rules.d/imx-android.rules
subsystem==”usb”,sysfs{idvendor}==”0bb4”,mode=”0666”
[root@bogon home]# gvim/etc/bash.bashrc
[root@bogon home]# exit
exit
[android@bogon ~]$ cdbase\ env/
[android@bogon base env]$ ls
adt-18.0.0.zip eclipse
android-sdk-linux eclipse-cpp-indigo-sr2-incubation-linux-gtk.tar.gz
android-sdk_r18-linux.tgz
[android@bogon base env]$ cd android-sdk-linux/
[android@bogon android-sdk-linux]$ ls
add-ons docs platforms platform-tools sdk readme.txt temp tools
[android@bogon android-sdk-linux]$ cd platform-tools/
[android@bogon platform-tools]$ ./adb devices
list of devices attached
???????????? no permissions
[android@bogon platform-tools]$ ./adb kill-server
[android@bogon platform-tools]$ ./adb start-server
* daemon not running. starting it now on port 5037*
* daemon started successfully *
[android@bogon platform-tools]$ ./adb devices
list of devices attached
???????????? no permissions
[android@bogon platform-tools]$ cd /etc/udev/rules.d
[android@bogon rules.d]$ ll
总用量 76
-rw-r--r--. 1 root root 6627 6月 24 2010 40-hplip.rules
-rw-r--r--. 1 root root 226 8月 18 2010 51-dlm.rules
-rw-r--r--. 1 root root 495 6月 24 2010 56-hpmud_support.rules
-rw-r--r--. 1 root root 1652 8月 26 201060-fprint-autosuspend.rules
-rw-r--r--. 1 root root 1060 6月 29 2010 60-pcmcia.rules
-rw-r--r--. 1 root root 452 8月 13 2010 60-raw.rules
-rw-r--r--. 1 root root 292 7月 17 2010 70-cups-libusb.rules
-rw-r--r--. 1 root root 788 2月 21 02:41 70-persistent-cd.rules
-rw-r--r--. 1 root root 460 2月 21 01:49 70-persistent-net.rules
-rw-r--r--. 1 root root 1914 1月 13 2010 85-pcscd_ccid.rules
-rw-r--r--. 1 root root 320 5月 15 2009 90-alsa.rules
-rw-r--r--. 1 root root 83 7月 28 2010 90-hal.rules
-rw-r--r--. 1 root root 359 8月 18 2010 90-rdma.rules
-rw-r--r--. 1 root root 53 4月 19 2010 91-drm-modeset.rules
-rw-r--r--. 1 root root 2486 6月 30 201097-bluetooth-serial.rules
-rw-r--r--. 1 root root 292 8月 30 2010 98-kexec.rules
-rw-r--r--. 1 root root 54 4月 9 2010 99-fuse.rules
-rw-r--r--. 1 root root 53 4月 13 09:39 imx-android.rules
[android@bogon rules.d]$ su root
密码:
[root@bogon rules.d]# chmod+rx imx-android.rules
[root@bogon rules.d]# ll
总用量 76
-rw-r--r--. 1 root root 6627 6月 24 2010 40-hplip.rules
-rw-r--r--. 1 root root 226 8月 18 2010 51-dlm.rules
-rw-r--r--. 1 root root 495 6月 24 2010 56-hpmud_support.rules
-rw-r--r--. 1 root root 1652 8月 26 201060-fprint-autosuspend.rules
-rw-r--r--. 1 root root 1060 6月 29 2010 60-pcmcia.rules
-rw-r--r--. 1 root root 452 8月 13 2010 60-raw.rules
-rw-r--r--. 1 root root 292 7月 17 2010 70-cups-libusb.rules
-rw-r--r--. 1 root root 788 2月 21 02:41 70-persistent-cd.rules
-rw-r--r--. 1 root root 460 2月 21 01:49 70-persistent-net.rules
-rw-r--r--. 1 root root 1914 1月 13 2010 85-pcscd_ccid.rules
-rw-r--r--. 1 root root 320 5月 15 2009 90-alsa.rules
-rw-r--r--. 1 root root 83 7月 28 2010 90-hal.rules
-rw-r--r--. 1 root root 359 8月 18 2010 90-rdma.rules
-rw-r--r--. 1 root root 53 4月 19 2010 91-drm-modeset.rules
-rw-r--r--. 1 root root 2486 6月 30 2010 97-bluetooth-serial.rules
-rw-r--r--. 1 root root 292 8月 30 2010 98-kexec.rules
-rw-r--r--. 1 root root 54 4月 9 2010 99-fuse.rules
-rwxr-xr-x. 1 root root 53 4月 13 09:39 imx-android.rules
[root@bogon rules.d]#
6、启动/etc/init.d/udev-post服务:
[root@bogon rules.d]# /etc/init.d/udevrestart
bash: /etc/init.d/udev: 没有那个文件或目录
[root@bogon rules.d]# cd/etc/init.d/
[root@bogon init.d]# ls| grep udev
udev-post
[root@bogon init.d]# /etc/init.d/udev-postrestart
用法:/etc/init.d/udev-post {start|stop|reload}
[root@bogon init.d]# /etc/init.d/udev-postreload
重新激发失败的 udev 事件 [确定]
[root@bogon init.d]# /etc/init.d/udev-poststart
重新激发失败的 udev 事件 [确定]
[root@bogon init.d]# cd/home/android/base\ env/android-sdk-linux/platform-tools/
[root@bogon platform-tools]# ./adb kill-server
[root@bogon platform-tools]# ./adb devices
* daemon not running. starting it now on port 5037*
* daemon started successfully *
list of devices attached
0123456789abcdef device
[root@bogon platform-tools]#
[root@bogon platform-tools]# ./adb shell
# pwd
/
# ls
config
cache
udisk
flash
sdcard
acct
mnt
vendor
d
etc
ueventd.rk29board.rc
ueventd.rc
ueventd.goldfish.rc
system
sys
sbin
proc
init_battery.sh
init.rk29board.rc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev
# exit
[root@bogon platform-tools]#
7、为了能够向其他的bash命令一样运行adb,即不许要在前面添加”./”,您需要修改相应的环境变量配置文件,您可以如下进行您的操作:
[root@bogon platform-tools]# vim /etc/profile
…
export android_home=/home/android/base\env/android-sdk-linux
export path=$path:$android_home/platform-tools
[root@bogon platform-tools]# source /etc/profile
[root@bogon platform-tools]# exit
[android@bogon ~]$
[android@bogon ~]$ echo$path
/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/android/bin
为了让您设置的环境变量剩下,可以对该文件source一下,如下:
[android@bogon ~]$ source/etc/profile
[android@bogon ~]$ echo$path
/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/android/bin:/home/android/baseenv/android-sdk-linux/platform-tools
[android@bogon ~]$ adbdevices
list of devices attached
0123456789abcdef device
[android@bogon ~]$ adbshell
# pwd
/
# ./data/grip/ids
1. wlan0
(no description available)
2. any
(pseudo-device that captures on all interfaces)
3. lo
(no description available)
input a interface:(1-3)1
dev:wlan0
----ethernet protocol(phydical layer)-----
mac source address:
78:d6:f0:25:af:a9
mac destination address:
00:26:9e:6f:cc:e3
protocol:0806
this is a arp protocol
------arp protocol-------
----ethernet protocol(phydical layer)-----
mac source address:
00:26:9e:6f:cc:e3
mac destination address:
78:d6:f0:25:af:a9
protocol:0806
this is a arp protocol
------arp protocol-------
^c
# [android@bogon ~]$
[android@bogon ~]$