2012-01-05 26 views
6

Có một tình huống ở đây, tôi đang phát triển một ứng dụng Android, sử dụng Java. Tôi khá quen thuộc với tất cả những thứ này, nhưng bây giờ là lần đầu tiên tôi cần sử dụng quyền SU. Tôi chỉ cần thay thế (thực sự, đổi tên) tập tin trong thư mục hệ thống/ứng dụng, nhưng có vẻ như tôi không thể thực hiện nó theo cách thông thường (phương thức renameTo trong lớp File), nó chỉ trả về cho tôi FALSE, có nghĩa là rằng có một số lỗi trong hoạt động.Quyền SU Android: Cách sử dụng?

Vậy ai cũng có thể cho tôi biết cách sử dụng SU? Điện thoại thử nghiệm của tôi hoàn toàn bắt nguồn từ SU 3.0.3.2, bất kỳ ứng dụng nào yêu cầu SU hoạt động hoàn toàn tốt.

Tôi có nên sử dụng cùng phương pháp nhưng với một số bổ sung trong tệp kê khai không? Tôi sẽ sử dụng busybox theo cách nào đó?

Tôi đã googled cho điều này và tôi không thể tìm thấy bất kỳ thông tin hữu ích nào. Ngoài ra, không có tài liệu nào trên trang web chính thức của Android Superuser.

Cảm ơn trước!

+1

trùng lặp: http://stackoverflow.com/questions/7295873/how-do-i-request-root-access-in-android – TryTryAgain

+0

Cảm ơn bạn, thưa ông :) – Adiost

+0

Không sao cả. Một tìm kiếm nhanh chóng trên StackOverflow hầu như luôn luôn bật lên kết quả ;-) – TryTryAgain

Trả lời

8

Có thể bạn cũng cần phải cập nhật hệ thống tệp dưới dạng RW vì/hệ thống chỉ đọc. Vì vậy, bạn có thể cần phải gọi SU với một lệnh tương tự như dưới đây:

mount -o r,remount -t yaffs2 /dev/block/mtdblock3 /system

Để thực hiện lệnh, bạn có thể thử hai cách (Tôi đã thông báo trong android đôi khi một công trình và người kia sẽ không)

Process p = Runtime.getRuntime().exec(new String[]{"su", "-c", "mount -o r,remount -t yaffs2 /dev/block/mtdblock3 /system"}); 

Hoặc bạn có thể làm

Process p = Runtime.getRuntime().exec("su"); 
p.getOutputStream().write("mount -o r,remount -t yaffs2 /dev/block/mtdblock3 /system".getBytes()); 
p.getOutputStream().write(<my next command>); 
+0

Ồ đúng vậy, tôi cần phải làm điều đó. Xin lỗi vì câu hỏi lame, nhưng vẫn còn: làm thế nào để làm điều đó? Tôi có nghĩa là, làm thế nào để gọi SU với một số lệnh? – Adiost

+1

Chỉnh sửa nó một chút để làm cho nó hoàn chỉnh hơn. – user931366

+0

Ai tuyệt vời? Bạn thật tuyệt vời! :) Tôi nợ bạn – Adiost

Các vấn đề liên quan