在merge code的時候,直接覆蓋了 *.java 和 *.aidl
當你build code的時候出現下面這樣
frameworks/base/core/java/android/bluetooth/BluetoothAtt.java:263: cannot find symbol
symbol : method getAttPriority(android.bluetooth.BluetoothDevice)
location: interface android.bluetooth.IBluetooth
return mService.getAttPriority(device);
^
你可能要看mService是屬於哪個class
結果找到是BluetoothService
但是在BluetoothService裡面寫getAttPriority method阿! 卻還是跟我說找不到
於是發現BluetoothService是繼承 IBluetooth.Stub,看到Stub,就知道他是binder
所以就會跟aidl有關,aidl就像是C code裡面的 .h檔案
在BluetoothService.java裡面新增了一個method,因為他是繼承binder的
所以就必須在
\frameworks\base\core\java\android\bluetooth\IBluetooth.aidl
裡面去宣告getAttPriority
但是我查過了~~確實有宣告
所以為了確定他有重新去build這個BluetoothService.java
我們去out/target/product/zoom/...把 Bluetooth.java & Bluetooth.class刪掉,讓他重新build一次
這樣做完之後就可以build過了
沒有留言:
張貼留言