- HiKey 620
- Android 10 for BeagleBone Black
- Emulator
We've made available 3 prepared packages using the Releases feature of GitHub
x86-64:https://github.com/opersys/binder-explorer-web/releases/download/v0.5/binder-explorer_x86-64.tar.gz
ARM 32 bits: https://github.com/opersys/binder-explorer-web/releases/download/v0.5/binder-explorer_arm.tar.gz
ARM 64 bits: https://github.com/opersys/binder-explorer-web/releases/download/v0.5/binder-explorer_arm64.tar.gz
To use any of those release packages:
- Forward port 3000 to your local computer with adb
$ adb forward tcp:3000 tcp:3000
- Use adb push to move the package corresponding to your device architecture to a directory. We generally use /data/local/tmp for demonstrations
$ adb push binder-explorer_x86_64.tar.gz /data/local/tmp
- Enter your device adb shell:
$ adb shell
$ cd /data/local/tmp
- Extract the .tar.gz file locally
$ tar -zxvf binder-explorer_x86_64.tar.gz
- Move to the directory that was created following the extraction
$ cd dist_x86_64
- Use the run script in that directory to start Binder Explorer
$ ./run
You need a recent version of Node.js to build the distributions. There are prebuilt binaries in the bin directory which will be copied to the distribution output but besides that, Binder Explorer is a fairly straightforward Node.js project.
Make sure you've got bower installed globally:
$ npm install -g bower
- Install the server side packages:
$ npm install
- Install the client side packages:
$ bower install
- Assemble the distribution for the target architecture you want (arm, arm64, x86_64):
$ grunt dist_x86_64
- You can then push the dist_x86_64 directory, or the directory that corresponds to your architecture, to a directory on your device.
$ adb push dist_x86_64 /data/local/tmp
Connecting to the web interface
If you have correctly forwarded port 3000 from your device to the emulator, you can browser (Firefox or Chrome) to connect to http://localhost:3000.
- Left click + drag: Pan screen
- Mouse Wheel: Zoom
If Binder Explorer is working correctly, you will see a screen that looks like the following if you zoom out a bit. You can see that services are grouped together depending if they are regular system services or hardware services. The applications are grouped in the middle and they should dynamically as they get started or stopped.
Hovering over an object will show informations about the object
Blue circles around process represents the application-level services that the application has started. Only the service that have a Binder interface are shown that way as local service are invisible to Binder Explorer.
Clicking on an object will open a dialog box with more details
The content of the dialog box depends on what object you click. The screenshot above captures what happens when you click on a process. Similar content is available for user services.
- François-Denis Gonthier [email protected] -- main developer and maintainer
- Karim Yaghmour [email protected] -- ideas and other forms of entertainment