2010-05-10 61 views
6

Có thể (không vi phạm bất kỳ giấy phép nào) để viết ứng dụng C/C++ gốc lên trên hệ điều hành Android và làm cho nó chạy như một quy trình daemon không?Quá trình daemon trên Android

Đã có một số quá trình daemon 'đang chạy mà người ta có thể thấy bằng lệnh' ps ', phần pháp lý liên quan đến tôi nhiều nhất. Và cũng thiếu tài liệu hướng dẫn về cách thực hiện chính xác điều này.

Đối với phần viết, tôi đoán người ta có thể sử dụng các khái niệm lập trình Linux cơ bản, vì Android hỗ trợ ít nhất một mức nào đó là API Posix chuẩn. Để làm cho nó chạy như điện thoại khởi động, một số sửa đổi là tất nhiên cần thiết trong init là tốt.

Tôi không có kế hoạch để có ứng dụng này trong Android Market, do đó, cài đặt nó theo cách thủ công với điện thoại không phải là một vấn đề. Miễn là nó không yêu cầu biên dịch lại toàn bộ hệ điều hành hoặc hạt nhân.

Tôi thực sự đánh giá cao tất cả thông tin về chủ đề này vì không có nhiều thông tin.

Cảm ơn.

+0

Tôi cũng đang nghiên cứu NDK và nhận thấy rằng có một danh sách các thư viện 'ổn định' chỉ nên được sử dụng. Liệu quy tắc này có sử dụng các thư viện chuẩn của Poxis (hoặc những gì được triển khai)? – kaskelotti

Trả lời

4

Có thể (mà không vi phạm bất kỳ giấy phép) để viết một bản C++ ứng dụng C/trên đầu trang của hệ điều hành Android và làm cho nó chạy như một quá trình daemon?

Không sạch.

Và cũng thiếu tài liệu về cách thực hiện chính xác việc này.

Vì bạn không được phép thực hiện việc này, ngoại trừ bằng cách sửa đổi chương trình cơ sở.

Để làm cho nó chạy khi khởi động điện thoại, một số sửa đổi là tất nhiên bắt buộc trong init là tốt.

Chỉ có thể thực hiện trên điện thoại gốc (tốt nhất) hoặc thông qua sửa đổi chương trình cơ sở (tối thiểu).

NDK của Android được thiết kế để tạo thư viện để kết nối với các ứng dụng Java thông qua JNI. Nếu bạn đang tìm kiếm một môi trường Linux có mục đích chung, Android không phải là câu trả lời.

+0

Cảm ơn bạn đã trả lời. Đó là quy tắc khá nhiều tùy chọn này ra, tôi sẽ tiếp tục tìm kiếm lựa chọn thay thế. Tôi phải làm việc trên Android, do đó, mục đích chung Linux không phải là một lựa chọn, không phải là rễ hoặc reflashing phần vững. Ít nhất là không phải vào thời điểm này. – kaskelotti

2

Về mặt pháp lý, đó không phải là vấn đề, chúng không phải là Apple.

application fundamentals giải thích cách thực hiện điều đó trong java, NDK giải thích cách thực hiện các công cụ trong C/C++, tôi đoán bạn có thể hiểu được bằng cách nào đó.

+0

Cảm ơn bạn đã trả lời. Tôi không thấy bài viết cơ bản về ứng dụng giúp tôi như thế nào về vấn đề này. Nó thảo luận về các dịch vụ, nhưng tôi đang nói về một cái gì đó đang chạy ở cấp độ thấp hơn. NDK dường như cung cấp cách để gói mã C/C++ bên trong tệp APK. Chúng luôn luôn được thực hiện/được sử dụng bởi máy ảo Dalvik. Những gì tôi cần là một quá trình nền chạy trực tiếp trên đầu trang của hệ điều hành, trên cùng một cấp độ như ddmd, ví dụ. Đối với các vấn đề pháp lý, tôi lo lắng về việc hack quá trình init hoặc một số tệp rc vv của nó. – kaskelotti

+1

Trích dẫn từ trang NDK "Xin lưu ý rằng NDK không cho phép bạn phát triển các ứng dụng gốc. Thời gian chạy chính của Android vẫn là máy ảo Dalvik". – kaskelotti

+0

Tôi xin lỗi, tôi không hiểu bạn muốn bỏ qua mọi thứ, tôi nghĩ bạn chỉ muốn tạo một Dịch vụ bằng C. Tôi đoán những gì bạn muốn làm là không thể với ROM chuẩn (không chắc chắn, mặc dù) . –

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