Tôi có một dịch vụ Android cố gắng liên kết với cổng cổng máy chủ 24. Vì nó là cổng đặc quyền, nó không có ngoại lệ ràng buộc. Tôi tự hỏi mình cần làm gì để làm việc này. Tôi thấy điều này đã được hỏi vài lần trong diễn đàn này, nhưng không có giải pháp.Cách liên kết với một cổng nhỏ hơn 1024 trong Android?
Dịch vụ này chạy trên thiết bị chạy trên Android. Chúng tôi xây dựng nền tảng Android cho thiết bị. Chúng tôi có tất cả sự kiểm soát mà chúng tôi cần.
Dựa trên kiến thức chung về Linux, chỉ các quy trình chạy dưới dạng gốc mới có thể nghe trên cổng 24. Bạn thậm chí có thể chạy các ứng dụng Java dưới dạng root không? –
Đồng ý. Quá trình này phải chạy dưới dạng root hoặc có thể là ID người dùng có đặc quyền quản trị viên (không chắc liệu Android có hỗ trợ khái niệm Linux đó) hay không. Thông thường, nếu bạn điều khiển thiết bị, bạn không viết các daemon trong Java, nhưng trong C/C++, và bắt đầu chúng bằng cách sử dụng hỗ trợ daemon Linux bình thường. – CommonsWare
Cách "su ..." của các đặc quyền nâng cao không phải là một tùy chọn khi tôi ràng buộc với một cổng. Tôi không cố gắng để sinh ra một kịch bản shell. Vì mỗi ứng dụng android về cơ bản là một quá trình được chia tách từ zygote, trừ khi zygote nâng cao đặc quyền dựa trên SOMETHING, bạn không thể liên kết. Tôi tự hỏi liệu zygote có cho phép điều đó hay không. Nếu có, SOMETHING là gì? – videoguy