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;