Nếu bạn đang và đã dùng một thiết bị Android thì chắc chắn bạn đã từng tự tay bật hoặc ít nhất là nghe nói đến chế độ USB Debugging phải không nào? Tuy nhiên bạn thật sự hiểu rõ được chế độ này chưa, nó là cái gì, giúp chúng ta được việc gì, tại sao phải bật nó? Trong bài viết này mình xin phép trình bày vài vấn đề về USB Debugging với mục đích chính là giúp các bạn hiểu rõ ràng và tường tận hơn về nó.
USB Debugging là gì?
Để hiểu rõ vấn đề trước tiên ta cần điểm qua định nghĩa của từ Debug, từ này bất kỳ một lập trình viên nào cũng phải biết. Bug là lỗi, Debug là sửa lỗi tìm lỗi, thuật ngữ này được dùng để chỉ việc tìm và sửa lỗi Bug trong máy tính hoặc trong các chương trình máy tính. Trong lúc chạy thực tế, phần mềm có thể phát sinh ra rất nhiều lỗi cần sửa chữa, thao tác Debug là dò và kiểm tra các lỗi đấy, đây là quá trình rất quan trọng vì nó giúp đảm bảo phần mềm hoạt động tốt hơn, ổn định hơn.
Đấy là chuyên của việc lập trình trên máy tính, còn trên điện thoại thì sao? Để làm ra một ứng dụng trên điện thoại Android lập trình viên không thể viết trực tiếp trên thiết bị đó mà họ phải code thông qua máy tính, nhờ vào bộ Android SDK, là một bộ phát triển ứng dụng trên nền tảng Android dành cho máy tính. Cơ bản nó là một bộ giả lập Android, là máy ảo của Android trên PC, chức năng gần như không khác gì một chiếc máy Android thật, nhằm mục đích hỗ trợ lập trình các ứng dụng của Android trên PC.
USB Debugging là gì?
Để hiểu rõ vấn đề trước tiên ta cần điểm qua định nghĩa của từ Debug, từ này bất kỳ một lập trình viên nào cũng phải biết. Bug là lỗi, Debug là sửa lỗi tìm lỗi, thuật ngữ này được dùng để chỉ việc tìm và sửa lỗi Bug trong máy tính hoặc trong các chương trình máy tính. Trong lúc chạy thực tế, phần mềm có thể phát sinh ra rất nhiều lỗi cần sửa chữa, thao tác Debug là dò và kiểm tra các lỗi đấy, đây là quá trình rất quan trọng vì nó giúp đảm bảo phần mềm hoạt động tốt hơn, ổn định hơn.
Bật USB Debugging trong Developer Options
Đấy là chuyên của việc lập trình trên máy tính, còn trên điện thoại thì sao? Để làm ra một ứng dụng trên điện thoại Android lập trình viên không thể viết trực tiếp trên thiết bị đó mà họ phải code thông qua máy tính, nhờ vào bộ Android SDK, là một bộ phát triển ứng dụng trên nền tảng Android dành cho máy tính. Cơ bản nó là một bộ giả lập Android, là máy ảo của Android trên PC, chức năng gần như không khác gì một chiếc máy Android thật, nhằm mục đích hỗ trợ lập trình các ứng dụng của Android trên PC.
Vậy USB Debugging là gì? Nó là tên của một chế độ kết nối USB trên máy Android, với chức năng chính là tạo con đường kết nối giữa điện thoại và máy tính với bộ công cụ Android SDK.
USB Debuging để làm gì và tại sao phải bật?
Như đã nói ở trên, lập trình viên không thể viết ứng dụng trực tiếp trên thiết bị, USB Debugging giúp truyền tải ứng dụng từ máy tính đến thiết bị Android để kiểm tra lỗi ở điều kiện thực tế. Ngoài ra sợi dây kết nối này còn giúp chúng ta làm được nhiều chuyện hơn, không chỉ là để debug ứng dụng. Mặc định khi chúng ta kết nối thiết một chiếc điện thoại Android với máy tính, thì máy chỉ nhận điện thoại như là một thiết bị lưu trử USB và chúng ta chỉ có thể chép nhạc, phim, hình ảnh. Muốn làm những chuyện nghiêm trọng hơn thì phải bật USB Debugging.
USB Debugging cung cấp cho chúng ta nhiều quyền hạn hơn khi truy cập vào thiết bị Android, mà nếu không có nó thì không thể làm được ở điều kiện bình thường. Ví dụ như dùng máy tính để chụp ảnh màn hình điện thoại, chỉnh DPI màn hình, cài đặt file apk từ máy tính qua điện thoại hoặc thao tác với thiết bị Android thông qua dòng lệnh từ máy tính bằng ADB Tool (bộ công cụ đi kèm với Android SDK). Với những dòng lệnh, chúng ta cũng có thể thâm nhập và can thiệp vào file hệ thống của điện thoại Android từ máy tính mà không cần phải root máy. Từ đó nếu máy bị brick do mất file hệ thống, người dùng vẫn có cơ hội cứu lại được qua máy tính mà không cần phải đi mua máy mới.
USB Debugging cung cấp nhiều quyền hạn hơn khi kết nối với máy tính
Bật USB Debugging là một điều kiện không thể thiếu nếu bạn muốn root thiết bị Android của mình. Phải bật nó thì các công cụ root mới có quyền hạn thâm nhập sâu vào hệ thống, từ đó nó mới có thể làm những việc mà nó cần phải làm để tiến tới mục đích cuối cùng là root máy thành công.
Vậy giữ cho USB Debugging luôn bật thì có ảnh hưởng gì không?
Thật khó để khẳng định, vì xét về mặt lợi hay hại nó đều có, các bạn đọc qua rồi tự cân nhắc nha. Nếu điện thoại của bạn đột nhiên gặp vấn đề về phần cứng, ví dụ như máy vẫn còn bình thường mà màn hình bị hỏng không thể hiển thị được nội dung, thì USB Debugging có thể giúp bạn trong việc khôi phục hoặc sao lưu lại dữ liệu, máy bạn đã root thì cơ hội cứu dữ liệu thành công càng lớn.
Quảng cáo
Người dùng có thể thoải mái cài đặt ứng dụng, khởi động lại thiết bị và nhiều việc khác mà không cần sự tương tác trực tiếp đến máy, thậm chí màn hình đang bị khoá cũng chơi được luôn. Nó cũng giúp bạn lấy lại quyền kiểm soát thiết bị nếu nhỡ quên mật khẩu hay mã pin khoá máy. Tuy nhiên rủi ro cũng phát sinh từ đây.
Nếu ở trường hợp không máy mắn, điện thoại của bạn bị mất hoặc đánh cắp, USB Debugging đang active, kẻ xấu có thể ăn cắp được dữ liệu cá nhân của bạn bất kể bạn có đặt mật khẩu khoá màn hình hay không. Đặc biệt nếu máy đã root rồi thì họ kể có thể lấy được tất cả mọi thứ từ điện thoại của bạn, không mấy hay ho nếu đó là dữ liệu nhạy cảm.
Mình nhớ là đã từng gặp vài bạn phản ánh vì lỗi hao pin hoặc sự cố khi truy cập thẻ SD nếu đang bật USB Debugging. Thực tế mình chưa gặp lỗi này nhưng không loại trừ khả năng nó vẫn có thể xãy ra. Đối với bản thân mình, khi không có nhu cầu dùng máy tính để thực hiện lệnh gì đó trên điện thoại thì mình sẽ tắt USB Debugging đi.