Tuesday, February 23, 2010

android adb

不是很喜欢windows,可是中国ZF和微软有协议,而且微软每年赞助很多钱,现在稳坐中国市场。


本人是一个菜鸟,无论是windows下,还是在linux下,主要是喜欢折腾,Archlinux本来就是折腾的系统
平时一直在用Archlinux,个人觉得是最快最方便的,更新及时。一直想在Archlinux下联机使用ADB,在网上找了很多资料,不过都是关于ubuntu的,终于找到了一片强文,醍醐灌顶,呵呵,终于联机成功,而且删除了不需要的软件

1.首先还是按照官方instructions,创建文件
/etc/udev/rules.d/51-android.rules
如果仅仅将官方内容加到文件中是不行的,应该还要多两行,具体为

SUBSYSTEM==”usb”, SYSFS{idVendor}==”12d1″, MODE=”0666″
SUBSYSTEM==”usb”,ATTR{idVendor}==”12d1″,ATTR{idProduct}==”1501″,SYMLINK+=”android_adb”
SUBSYSTEM==”usb”,ATTR{idVendor}==”12d1″,ATTR{idProduct}==”1501″,SYMLINK+=”android_fastboot”
2.保险起见,重新加载udev的rules

udevadm control –reload-rules
3.更改文件权限

chmod a+rx /etc/udev/rules.d/51-android.rules
4.用命令

pgrep adb | xargs kill

将目前已有的adb Daemon关了,再用sudo权限打开adb devices。


看看我的,因为终端显示的是乱码,暂时还没有解决哈。

[wolfishor@Arch android-sdk]$ adb devices
List of devices attached
????????????    device     (这个是乱码,不知道是为什么)
[wolfishor@Arch android-sdk]$ adb remount  (重新挂载)
remount succeeded    (提示成功)
[wolfishor@Arch android-sdk]$ adb shell  (打开shell)
# cd system/app   (进入程序文件夹)
# ls      (显示文件夹文件)
AlarmClock_common.apk                 MediaProvider.apk
Browser.apk                           MediaUploader.apk
Calculator.apk                        Mms.apk
Calendar.apk                          NetworkLocation.apk
CalendarProvider.apk                  NotePad.apk
Camera.apk                            PackageInstaller.apk
Community.apk                         Phone.apk
DocToGo_B512.apk                      ProjectMenuAct_B115sp02.apk
DownloadProvider.apk                  SFP_TIMB115.apk
DrmProvider.apk                       SecurityResult.apk
Email.apk                             Settings.apk
Exchange_RS150.apk                    SettingsProvider.apk
FileManager.apk                       SetupWizard.apk
FrenchPack.apk                        SoundRecorder.apk
Gmail.apk                             Stk_b211.apk
GmailProvider.apk                     Street.apk
GoogleApps.apk                        Superuser.apk
GoogleContactsProvider.apk            Talk.apk
GoogleMusic.apk                       TelephonyProvider.apk
GooglePartnerSetup.apk                TouchPal.apk
GoogleSearch.apk                      UserDictionaryProvider.apk
GoogleSettingsProvider.apk            Vending.apk
GoogleSubscribedFeedsProvider.apk     YouTube.apk
HTMLViewer.apk                        checkin.apk
ImProvider.apk                        com.schwimmer.android.wifistatus.apk
Jbed.apk                              com.siriusapplications.quickboot.apk
LatinIME.apk                          com.wsandroid.apk
Launcher.apk                          gtalkservice.apk  (本人装的是12-17MCR)
# rm TouchPal.apk(用起不爽,删)
# rm FrenchPack.apk(用不到,删)
# rm com.schwimmer.android.wifistatus.apk(删,装更好的)
# rm Exchange_RS150.apk(删,用不到)
# rm DocToGo_B512.apk(删,用不到)
# ls   (列出文件夹内容,看看,已经不见了刚才删除的东东了,哈哈)
AlarmClock_common.apk                 MediaUploader.apk
Browser.apk                           Mms.apk
Calculator.apk                        NetworkLocation.apk
Calendar.apk                          NotePad.apk
CalendarProvider.apk                  PackageInstaller.apk
Camera.apk                            Phone.apk
Community.apk                         ProjectMenuAct_B115sp02.apk
DownloadProvider.apk                  SFP_TIMB115.apk
DrmProvider.apk                       SecurityResult.apk
Email.apk                             Settings.apk
FileManager.apk                       SettingsProvider.apk
Gmail.apk                             SetupWizard.apk
GmailProvider.apk                     SoundRecorder.apk
GoogleApps.apk                        Stk_b211.apk
GoogleContactsProvider.apk            Street.apk
GoogleMusic.apk                       Superuser.apk
GooglePartnerSetup.apk                Talk.apk
GoogleSearch.apk                      TelephonyProvider.apk
GoogleSettingsProvider.apk            UserDictionaryProvider.apk
GoogleSubscribedFeedsProvider.apk     Vending.apk
HTMLViewer.apk                        YouTube.apk
ImProvider.apk                        checkin.apk
Jbed.apk                              com.siriusapplications.quickboot.apk
LatinIME.apk                          com.wsandroid.apk
Launcher.apk                          gtalkservice.apk
MediaProvider.apk
# [wolfishor@Arch android-sdk]$


手机重启,然后再用ADB命令。

[wolfishor@Arch android-sdk]$ adb remount
remount succeeded
[wolfishor@Arch android-sdk]$ adb shell
# cd system/app
# ls

AlarmClock_common.apk                 MediaUploader.apk
Browser.apk                           Mms.apk
Calculator.apk                        NetworkLocation.apk
Calendar.apk                          NotePad.apk
CalendarProvider.apk                  PackageInstaller.apk
Camera.apk                            Phone.apk
Community.apk                         ProjectMenuAct_B115sp02.apk
DownloadProvider.apk                  SFP_TIMB115.apk
DrmProvider.apk                       SecurityResult.apk
Email.apk                             Settings.apk
FileManager.apk                       SettingsProvider.apk
Gmail.apk                             SetupWizard.apk
GmailProvider.apk                     SoundRecorder.apk
GoogleApps.apk                        Stk_b211.apk
GoogleContactsProvider.apk            Street.apk
GoogleMusic.apk                       Superuser.apk
GooglePartnerSetup.apk                Talk.apk
GoogleSearch.apk                      TelephonyProvider.apk
GoogleSettingsProvider.apk            UserDictionaryProvider.apk
GoogleSubscribedFeedsProvider.apk     Vending.apk
HTMLViewer.apk                        YouTube.apk
ImProvider.apk                        checkin.apk
Jbed.apk                              com.siriusapplications.quickboot.apk
LatinIME.apk                          com.wsandroid.apk
Launcher.apk                          gtalkservice.apk
MediaProvider.apk


呵呵,自己不喜欢的软件已经没有了,爽,以后直接在linux下,写ROOT和recovery img了,不用切换到WINDOWS了。

BTW:让adb连接上device有什么作用呢?刷root,改locale,简单定制系统,把一些讨厌的占资源的组件踢出系统。
如果你在windows下,那就更方便了,官方的光盘里面有ADB软件。


使用ADB联机后,请不要删除自己不知道的东西,否则,后果自负。

-----------------------------------------------------------------------------

搭顺风车,昨天想看一下boot.img里面到底是什么东西,一时心血来潮就装了ubuntu9.10,以前从未接触linux,学起来好辛苦,不过经过学习,终于让ubuntu和u8220连接了。写一下心得,让像我这个什么都不懂的新手少走一点弯路。跟楼主的内容大同小异。

安装jdk和android sdk

建立文件/etc/udev/rules.d/51-android.rules
在终端下写这个命令
menwa@ubuntu:~$ sudo gedit /etc/udev/rules.d/51-android.rules
会打开GEDIT,加入如下内容:
SUBSYSTEM==”usb”, SYSFS{“Huawei Technologies Co., Ltd.“}==”12d1″, MODE=”0666″
SUBSYSTEM==”usb”,ATTR{“Huawei Technologies Co., Ltd.“}==”12d1″,ATTR{“Huawei Technologies Co., Ltd.“}==”1501″,SYMLINK+=”android_adb”
SUBSYSTEM==”usb”,ATTR{“Huawei Technologies Co., Ltd.“}==”12d1″,ATTR{“Huawei Technologies Co., Ltd.“}==”1501″,SYMLINK+=”android_fastboot”

保存这个文件,改文件权限和重新加载udev的rules。
menwa@ubuntu:~$ sudo chmod a+rx /etc/udev/rules.d/51-android.rules
menwa@ubuntu:~$ sudo /etc/init.d/udev restart

先进入android sdk的tools目录下,比如我的目录是:/home/menwa/android/tools
menwa@ubuntu:~$ cd android/tools
终止android模拟器(不终止的话,adb要加 -d)
menwa@ubuntu:~/android/tools$ sudo ./adb kill-server

测试一下,看是否连接成功
menwa@ubuntu:~/android/tools$ sudo ./adb devices
如果连接成功的话会提示:
List of devices attached
HW60F5E2189DCE65C7        device
后面的不写,该用ADB干啥就干啥。

--------------------------------------------------------------------------------------

No comments: