So Erstellen Sie eine native android-service, und verwenden Bindemittel, um mit ihm zu kommunizieren?
Meine grundlegende Aufgabe ist die Schaffung eines einheitlichen service in android und schreiben Sie dann eine einfache native Programm, um es zu testen. können sagen, ich will schreiben um eine simple Dienstleistung, welche mich zurückbringen Summe von 2 zahlen. Ich habe mit Bindemitteln zu sprechen, um es von dem Programm habe ich versucht zu google, aber ich kann nicht finden, ein präzises Beispiel. Ich muss wissen, wie man erstellen Sie einen einheitlichen service und finden es im Programm-und, wenn nötig, Java auch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie eine normale Android-Anwendung, die mit dem NDK, Sie nicht verwenden können, Binder, weil es nicht Teil der NDK-APIs.
Blick in die NDK docs/STABLE-APIS.html für die vollständige Liste von stabilen APIs, und diesen thread für einen expliziten Kommentar von David Turner (der NDK-maintainer) das Bindemittel ist nicht eine unterstützte API.
https://groups.google.com/forum/?fromgroups=#!Thema/android-ndk/1QmVRrNckfM
Ihre Optionen sind:
Service
und AIDL-Ausstattung des Android-SDK. Wenn Sie möchten, kombinieren Sie dies mit native code können Sie aufrufen zu können, um von Java aus native code mittels JNI.Die Lösung, die ich gefunden habe, ist die Verwendung der Bindemittel in der Muttersprache und verwenden Sie die
dann verwenden, Bindemittel und verwenden Sie die folgenden auf der client-Seite.
Fand ich die Beispiele hier auf, wie dies zu tun:
https://github.com/gburca/BinderDemo/blob/master/binder.cpp
Nach dem Studium und der Codierung @ Android NDK, ich fand Die binder-API ist NICHT verfügbar im Android-NDK.
Und selbst wenn Sie verwenden android-open-source für die Anrufung des binder-api, vielleicht bekommen Sie ja permission denied, weil der binder-Sicherheit überprüfen.
Hier, wenn ich will hinzufügen, ein service System, service, brauche ich ein system-level-user-Gruppe. Die detail-codes finden Sie https://github.com/qianjigui/android_system_service_example. Es enthält C-und Java-Stufe für das Kunden-und service -, aber Sie benötigen die Berechtigung system.