2012-03-16 43 views
6

Hệ điều hành Android có một lớp được gọi là BinderProxy bên trong android.os.Binder.java. Lớp này có khai báo hàm sau:Cách tìm mã nguồn của hàm java gốc

public native boolean transact(int code, Parcel data, Parcel reply, int flags) throws RemoteException; 

Tôi muốn tìm hiểu mã nào được thực thi khi hàm này được gọi.

Tôi sẽ làm điều đó như thế nào?

Trả lời

4

Nhìn qua here, đây là mã nguồn của Binder.cpp, bao gồm chức năng này.

0

Trong trường hợp này, phương pháp được gọi là onTransact của một lớp Stub tương ứng được gọi. Căn cứ vào code nó chuyển sang brunch tương ứng của thực hiện.

+0

Tôi mới sử dụng java, tôi muốn làm rõ rằng khi bạn nói lớp sơ khai, bạn có nghĩa là lớp Binder? – Jake

+0

Bạn muốn hiểu đâu là chức năng được gọi hoặc cách thức hoạt động của chất kết dính? Nếu bạn chỉ cố gắng tìm mã nguồn của phương thức giao dịch, nó ở đây: frameworks/base/libs/binder/Binder.cpp – Yury

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