Linux系统为:Ubuntu 12.04 32bit ,当然还需要Java环境,关于Java环境搭建参见这里.
1、Android SDK 安装配置
首先去Android官网去下载Linux版本的SDK,我下载的是adt绑定版本,包括sdk和eclipse,接近500M大小的.zip压缩包;
完成之后解压到合适的位置:
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
mkdir /opt/google
mv adt-bundle-linux-x86-20131030.zip /opt/google
cd /opt/google
unzip adt-bundle-linux-x86-20131030.zip
cd adt-bundle-linux-x86-20131030
mv eclipse ../
mv sdk ../
cd ..
rm -rf adt-bundle-linux-x86-20131030
接下来配置Android SDK安装信息:
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
gedit ~/.bashrc
在弹出的编辑器末尾出加上以下几行信息,保存,关闭.
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
export ANDROID_HOME=/opt/google/sdk
export PATH=$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH
执行以下命令,让配置生效,并查看配置是否完成
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
source ~/.bashrc
echo $ANDROID_HOME
echo $PATH
adb
至此,Android SDK安装完毕.
剩下的在Eclipse里面关于ADT配置和Windows上一致,这里略过。
2、Android真机调试
打开配置好了ADT的Eclipse,快速创建一个Hello World安卓应用,用USB连接上手机,调试的时候,在Android Device Chooser对话框中上部分显示的真机列表框中真机显示的是一排问号,真机不可用,立刻搜索了一下这个状况,推荐一下这篇博客(点击),按照博客上的方法实验了一下。
2.1 首先是查看手机连接的USB端口信息
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
lsusb
终端打印出usb端口情况
...
Bus 002 Device 009: ID 12d1:2223 Huawei Technologies Co., Ltd.
...
上面展示的信息为实验用的手机连接电脑usb端口的情况:Huawei手机,ID为12d1 (记住这个ID,后面用到)
2.2 配置规则
进入到 /etc/udev/rules.d 目录下,新建一个android.rules配置文件
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
cd /etc/udev/rules.d
sudo gedit android.rules
在弹出的编辑器中填写配置文件,格式如下,多个手机可以编写多条配置:
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
# Huawei ID 12d1:2223 Huawei Technologies Co., Ltd.
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666"
# HTC ID 0bb4:0cb0 High Tech Computer Corp.
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
# ...
保存并关闭规则配置文件,然后改变配置文件权限。
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
sudo chmod a+rx android.rules
执行完后,终端执行ls命令,看到android.rules文件为绿色
2.3 重启USB和adb服务
[csharp] view plain copy
print?在CODE上查看代码片派生到我的代码片
service udev restart
adb kill-server
adb devices
至此,完成真机调试前配置工作,再次用真机调试的时候发现真机可用了。
登录嵌入式:
lsusb: 查看通过usb连接到电脑的嵌入式设备;
adb shell: 登录到嵌入式设备;
busybox:某些嵌入式设备中使用vi等用的是busybox中的, 如:busybox vi xxx;