c++ 層實現binder服務樣例

weixin_30955617發表於2017-07-28

檢視樣例地址:https://github.com/langxianwen/binder-demo

研究了binder服務的實現,想寫個binder樣例。

在網上和書上都看到有這類似的樣例,照著寫後。發現都不是自己想要的,不太符合原始碼的風格。
就從原始碼的binder服務精簡了一個。
遇到的問題:
1 、frameworks/native/include/binder/IInterface.h:50: error: undefined reference to 'android::RefBase::~RefBase()'
    原因:沒有加入僅僅加入了libbinder 庫。沒加入libutils庫,
2 、ITest.h TestService.h 標頭檔案放在哪裡,才幹包括。


    一開是我是放在framework/av/include/media。


    引用時僅僅需#include <media/ITest.h>就可以。

    可是能不能放在自定義的隨意資料夾能?如:./test/include/test/ITest.h 
    #include "ITest.h" 編譯找不到標頭檔案。還須要在Android.mk指定標頭檔案路徑 
    LOCAL_C_INCLUDES := $(LOCAL_PATH)/../include/test就可以。
3、我的樣例裡面列印log是用ALOGE等。有的程式碼庫中是LOGE

寫樣例心得:雖然幾行程式碼我也折騰來兩三天。看會的,永遠不一定就會了,動手才是應道理。

程式碼檢視地址:https://github.com/langxianwen/binder-demo

git路徑:git clone https://github.com/langxianwen/binder-demo.git


轉載於:https://www.cnblogs.com/jzdwajue/p/7248232.html

相關文章