PDA

View Full Version : Hướng dẫn về câu lệnh adb trong Android và cách cài



Jack Atlas
16-12-2010, 14:41
Những file bạn cần

1. Driver cho windows Android : http://djdoprkngutub.cloudfront.net/usb_driver.zip

2. Tools cho Android: http://developer.android.com/sdk/download.html?v=android-sdk_r04-windows.zip

Các bước thực hiện:
I.Cài đặt driver
1. giải nén file thứ nhất usb_driver.zip ra
2. trên điện thoại vào settings>Applications>Development>USB debugging.
3. Kết nối điện thoại với máy tính (cắm usb vào đó mà)
4. bấm windows+r gõ vào devmgmt.msc
5. Chuột phải vào hardware điện thoại của bạn (thường sẽ có biểu tượng vàng hay chấm thang gì đó do chưa có driver) > chọn properties.
6. Chọn tab Driver>Update Driver
7. Chọn install from Specific Location
8. Chon Include this location ín the search đồng thời bỏ chọn search removeable media
9. Browse tới file giải nén ở bước một, chọn OK
10. Đợi Finish nữa thôi.

II. Thiết lập tools Android.
1. Extract file thứ 2
2. kiếm vào thư mục tools và copy lại đường dẫn. Ví dụ của mình là C:\android-sdk\tools\
3. windows +r và gõ vào SYSDM.CPL
4. Vào tab Advanced Click vào Enviroments... ở phía dưới cùng
5 Trong cửa sổ mới, nhìn xuống khung dưới System variables - kiếm phần path và chọn vào edit
6. Di chuyển dấu nháy xuống cuối. Nhập vào dấu ; và paste đường dẫn đã copy ở bước 2
Ví dụ của mình sẽ phải viết thêm vào cuối là ....;C:\android-sdk\tools
7.Ok liên tục để đóng các cửa sổ lại

III Kiểm tra;
1. Windows+r gõ vào cmd
2. nhập vào adb xem có báo unrecognized nếu không là OK
3. nhập tiếp adb devices xem List Attachement Deive có cái nào không? có cái dãy số nào đó là OK.

về các câu lệnh và ý nghĩa :

Mục đích của tài liệu này:

1. Giúp làm rõ một số địng nghĩa và kiến thức cơ bản về những câu lệnh giúp tuơng tác với máy điện thoại Android của bạn

2. Hiểu rõ hơn những lệnh trên giúp các bạn mới khi đọc hướng dẫn không chỉ cứ mù mờ nhập lệnh theo, dễ dẫn đến sai sót, mà hiể được câu lệnh đó có ý nghĩa gì và ảnh hưởng ra sao tới máy mình.

3. Có một số bài hướng dẫn chỉ nói là: chép cái này vào cái kia, flash cái này vào partion này. Nhưng không có câu lệnh cụ thể. Khi đó hiểu được câu lệnh giúp bạn có thể tự mình viết ra được câu lệnh để làm theo hường dẫn tốt hơn

4. Thêm vào đó kiểm tra xem kiến thức mình có chỗ nào chưa đúng. Nên nếu ai thấy sai gì thì PM mình sửa nhé.

5. Cũng sẽ là chỗ trợ giúp những thắc mắc các bạn mới.

Phần chính nào. Những vấn đề dưới đây sẽ cố gắng được giải thích đơn giản bình dân và minh họa để các bạn mới dễ theo nhất

Phần 1: ADB

1. adb - viết tắt của android debug bridge - bất cứ khi nào bạn muốn tìm hiểu thêm về những thuộc tính của lệnh này, bạn cứ gõ adb >enter list những lệnh có thể dùng cùng hướng dẫn sẽ được xuất ra

2. adb devices - Nếu có một câu lênh về adb nào phải nhớ thì mình sẽ chọn câu này - Câu lệnh này giúp bạn kiểm tra xem máy Android nào đang được kết nối với máy tính mình. Nói cách khác nếu gõ lênh này mà không thấy so SN máy mình hiện ra là bạn biết máy bạn chưa kết nối

3. adb reboot (bootloader | recovery)
adb reboot - Khởi động lại máy
adb reboot bootloader khởi động máy vào chế độ bootloader
adb reboot recovery khởi động máy vào chế độ recovery

4. adb remount - trong Android phone co phân mục system lưu những dữ liệu hệ thống máy. Theo đó để an toàn người ta khóa thư mục này lại để mình không sơ ý làm hư máy được. Nhưng đôi khi mình cần phải thay đổi cái gì đó trong phân mục này thì mình cần câu lệnh trên.
Vi' Dụ: Cần xóa chuơng trình Mp3 Amazon nó nằm trong đường dẫn /system/app
Vậy là nó cần thay đổi file trong phân vùng system do đó ta cần câu lệnh đầu tiên là : adb remount
Câu lênh thứ hai là : adb shell rm /system/app/*amaz* ( lệnh này sẽ nói tới phần 7)

5. adb push xxx yyy - copy file xxx từ máy tính vào một chỗ nào đó trên điện thoại với tên yyy (cần quyền root)
Ví dụ: Chép file Browser_Mod.apk từ ổ C:\Documents vào đường dẫn system/app với tên là Browser.apk. Câu lênh như sau:
adb remount ( Có dính tới system mà)
adb push C:\Documents\Browser_Mod.apk /system/app/Browser.apk
Nếu các bạn không để tên file mới lệnh trên sẽ dữ nguyên tên gốc ví dụ:
adb push C:\Documents\Browser_Mod.ạpk /system/app (máy sẽ copy file Browser_Mod.apk vào /system/app với đúng tên là Browser_Mod.apk không đổi

6. adb pull yyy xxx - copy file yyy từ máy Android vào lại máy tính.(cần quyền Root luôn)
Ví dụ: backup file Launcher2.apk từ system/app vào lại máy tính C:\Documents với tên mới là Launcher2BAK.apk. Câu lệnh như sau:
adb remount (...)
adb pull /system/app/Launcher2.apk C:\Documents\Launcher2BAK.apk

Trường hợp bạn đang ở sẵn trong C:\Documents rồi tức là cái chỗ dấu nháy nó ghi:
C:\Documents> bạn có thể sử dụng biểu tượng dấu chấm để chỉ chỗ bạn đang đứng. Câu lệnh cụ thể như sau:

adb pull /system/app/Launcher2.apk ./Launcher2BAK.apk (dấu chấm sẽ thay cho chỗ bạn đang đứng là C:\Documents )

7. adb shell rm - rm viết tắt của remove là xóa. Câu lệnh này giúp xóa một file nào đấy
Ví dụ: muốn xóa file Mp3amazon.apk trong /system/app xóa như sau
adb remount
adb shell rm /system/app/Mp3amazon.apk

Nhưng để xóa triệt để chuơng trình MP3 amazon ta cần phải xóa nhiều file khác như Mp3amazon.lib hay amazon.jar. nếu có 10 file phải bấm 10 lần thì mỏi tay quá trong khi ta thấy nó co chung nhau phần amaz ở giữa thế là câu lệnh mới thành như sau:
adb shell rm /system/app/*amaz* (* thay thế cho chuỗi ký tự bất kỳ, ? thì thay thế cho 1 ký tự bất kỳ mà thôi)

Phần 2: fastboot

1. fastboot - giao thức giữa máy tính và điện thoại giúp bạn flash file vào máy điện thoại - câu lệnh trên sẽ liệt kê những lện được dùng cùng fastboot với hướng dẫn

2. fastboot devices - kiểm tra thiết bị kết nối, thiết bi được kết nối chưa, và những thiết bi nào đang được kết nối

3. fastboot reboot - khởi động lại máy bình thường

4. fastboot oem unlock - unlock bootloader cua Nexus One cái này sẽ khiến bạn vi phạm điều khoản bảo hành của HTC

5. fastboot erase XXX - xóa phân vùng XXX - thường được dùng với phân vùng userdata hay cache. Ví dụ: xóa phân vùng userdata
fastboot erase userdata ( phân vùng userdata bạn sẽ bị xóa đồng nghĩa với việc những cài đặt trong phần setting như tài khoản log in password, history web, rồi pass wifi vân vân sẽ bị xóa hết)
**Đây là câu lênh nhạy cảm xóa nhầm một cái là BRICK máy đấy**

6. fastboot flash XXX YYY - flash phân vùng XXX bằng file ảnh YYY
Ví dụ: flash phân vùng recovery bằng file RArecovery.img
fastboot flash recovery RArecovery.img
Một số phân vùng thường gặp: boot, recovery, radio, zImage.

Lưu ý: để chạy được fastboot máy bạn nhất thiết phải ở trong chế đô Bootloader. Bạn có thể vào chế độ này bằng cách nhập lênh:
adb reboot bootloader

Có thắc mắc thêm nào thì PM mình nhé mình sẽ cố gắng giúp đỡ.

ZeroO88
16-12-2010, 22:16
Trời ơi, đt mà cũng brick sao :-s. Cám ơn JackAtlas nha, lỡ mình ko biết vọc nó brick thì :-s.
Nhân tiện Jack hướng dẫn cho mình cách cài game luôn nha. Trong topic game mình thấy có 2 file .apk và SD Card. Mình down về nhưng ko biết làm sao để chơi cả :|.

Jack Atlas
16-12-2010, 23:00
Cài game thì cậu cài file apk , có game rồi nhưng 1 số game ( game Gameloft hay thế ) thì đòi cậu down data , thì cậu ko down mà vào đường dẫn /sd/data/gameloft/tên game/copy dAta vào là ok

ZeroO88
22-12-2010, 17:59
Nhờ Jack làm luôn cái hướng dẫn cách cài lại HĐH cho htc Hero luôn nha. Số là mình vọc cài 1 đống soft +game vào nên bây giờ chẳng biết sao máy nó giật giật khó chịu quá. Mình uninstall hết rồi mà máy cứ đơ đơ :|.

Jack Atlas
22-12-2010, 18:56
HTC Hero vốn cấu hình ko cao , cài Sense thì lại bị chậm , cậu đổi bản ROM đi

http://forum.xda-developers.com/showthread.php?t=635690

Mà máy cậu đã root chưa ( có biểu tượng Superuser ở menu )?

ZeroO88
22-12-2010, 19:08
Máy mình vào menu thì không thấy cái Superuser. Mình vào software information thì thấy thế này:

Firmware version:
2.1-update1
Baseband version:
68.18.55.06PU_6.15.14
Kernel version:
2.6.29-36d5cb8d
soft ware number :
3.34.707.1
Vậy thì giờ mình phải up rom ra sao vậy ha ?

Jack Atlas
22-12-2010, 19:12
Nếu cậu ko muốn root máy ( vì root máy theo mình là vọc mất công và lằng nhằng ) thì vào SD and Phone Storage chọn Factory Reset , máy sẽ tự Restore

Còn vẫn muốn root thì mình sẽ nói tiếp sau

Jack Atlas
22-12-2010, 19:12
Nếu cậu ko muốn root máy ( vì root máy theo mình là vọc mất công và lằng nhằng ) thì vào SD and Phone Storage chọn Factory Reset , máy sẽ tự Restore

Còn vẫn muốn root thì mình sẽ nói tiếp sau

ZeroO88
22-12-2010, 19:17
Mà restore lại thì sẽ mất hết dữ liệu + hdh android 2.1 thành 1.5 hả bạn :|.

Jack Atlas
22-12-2010, 19:31
Đúng rồi đó bạn , sau đó down lại OTA 2.1 cho Hero bình thường ( TH xấu )

Còn nếu reset rồi mà vẫn còn 2.1 thì quá tốt

ZeroO88
22-12-2010, 20:21
Mình mới reset xong, vẫn là 2.1 nhưng số đt thì mất sạch sẽ 8-} . Nhân tiện cho mình hỏi OTA 2.1 có khác gì với cái mình đang xài không vậy ?

Jack Atlas
22-12-2010, 20:59
Ko , chả khác gì , bản của cậu là mới nhất rồi

zaizai_88
26-12-2010, 23:00
mình ko có device , đang muốn test thủ cái demo film .apk . nhưng dùng câu lênh adb toàn bị recognized .đã chạy đc emulator android , nhưng câu lệnh adb ko hoat động làm cách nào để fixx dc vậy

Jack Atlas
27-12-2010, 09:26
^ ko có device thì sao làm đc cái này nhỉ :|

zaizai_88
27-12-2010, 14:12
vậy có cách nào cái file .apk chạy trên android emulator dc ko .

Cardiologist
21-08-2011, 16:34
Mình là thành viên mới, đang tập tành android, muốn cài adb mà bị problem hoài. Mình làm theo hướng dẫn của bạn nhưng trong phần cài driver, khi browse tới file úb-driver đã giải nén thì thất bại, máy báo là the hardware was not installed because the wizard cannot find the necessary software. Làm thế nào để cài đặt được mong bác vui lòng chỉ giúp. Cảm ơn rất nhiều.

chanqua12369874
02-09-2011, 20:09
sao mình ấn "adb devices" trên cmd thì máy nó báo là Device Offline là như nào nhỉ :|

pham thanh hung
18-09-2013, 17:00
Mình lang thang trên mạng kiêm được câu lệnh này:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="4" android:versionName="1.4" package="billiards.app"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name" android:icon="@drawable/icon">
<activity android:label="@string/app_name" android:name=".CapcupActivity" android:screenOrientation="landscape" android:configChanges="keyboardHidden|orientation">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:name="vn.sunnet.util.sms.SmsLauncherTime" android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:theme="@android:style/Theme.Translucent" android:name="com.chartboost.sdk.CBDialogActivity" android:launchMode="singleTop" android:configChanges="keyboard|keyboardHidden|orientation" android:windowSoftInputMode="adjustResize" />
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode" />
<activity android:name="com.scoreloops.game.GameActivity" />
<service android:name="com.scoreloops.game.GameMainSrv" />
<receiver android:name="com.scoreloops.game.GameRecv">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.intent.action.UMS_CONNECTED" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
<meta-data android:name="vn.sunnet.util.sms.SmsLauncherTime.ClassLauncher" android:value="billiards.app.CapcupActivity" />
<meta-data android:name="vn.sunnet.util.sms.SmsLauncherTime.Preference" android:value="billiards.app.CapcupActivity" />
<meta-data android:name="vn.sunnet.util.sms.SmsLauncherTime.MsgSecond" android:value="Chỉ với 15.000 đồng bạn có thể kích hoạt và chơi game ngay!" />
<meta-data android:name="vn.sunnet.util.sms.SmsLauncherTime.MsgFirst" android:value="Chơi game vĩnh viễn chỉ với giá 15.000 đồng!" />
<meta-data android:name="vn.sunnet.util.sms.SmsLauncherTime.CheckMinuteFirst" android:value="10" />
<meta-data android:name="vn.sunnet.util.sms.SmsLauncherTime.CheckDaySecond" android:value="10" />
<meta-data android:name="vn.sunnet.util.param.payment_content_level1" android:value="VHA" />
<meta-data android:name="vn.sunnet.util.param.payment_content_level2" android:value="BIAGAIDEP" />
<meta-data android:name="vn.sunnet.util.param.download_qplay_uri" android:value="http://s.qplay.vn/?sid=12" />
<meta-data android:name="vn.sunnet.util.param.share_qplay_uri" android:value="http://s.qplay.vn/?sid=12" />
</application>
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.flash" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
</manifest>
Cái này của Game nữ game thủ Bia- nhưng mình không biết bỏ dòng lệch gửi tin nhắn đi mà không bị lỗi!