Skip to content

Commit d0bbc3b

Browse files
xaionaro@dx.centerxaionaro@dx.center
authored andcommitted
docs: rename aidl references to binder in README
1 parent dcb724a commit d0bbc3b

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ graph TD
2020
subgraph "Interface libraries"
2121
NDK["<b>ndk</b><br/>C API bindings via cgo"]
2222
JNI["<b>jni</b><br/>Java API bindings via JNI+cgo"]
23-
AIDL["<b>aidl</b><br/>Binder IPC, pure Go"]
23+
AIDL["<b>binder</b><br/>Binder IPC, pure Go"]
2424
end
2525
2626
subgraph "Android platform"
@@ -46,25 +46,25 @@ graph TD
4646
|---|---|---|---|
4747
| **[ndk](https://github.com/xaionaro-go/ndk)** (this project) | Android NDK C APIs | cgo + NDK toolchain | High-performance hardware access: camera, audio, sensors, OpenGL/Vulkan, media codecs |
4848
| **[jni](https://github.com/xaionaro-go/jni)** | Java Android SDK via JNI | cgo + JNI + JVM/ART | Java-only APIs with no NDK equivalent: Bluetooth, WiFi, NFC, location, telephony, content providers |
49-
| **[aidl](https://github.com/xaionaro-go/aidl)** | Binder IPC (system services) | pure Go (no cgo) | Direct system service calls without Java: works on non-Android Linux with binder, minimal footprint |
49+
| **[binder](https://github.com/xaionaro-go/binder)** | Binder IPC (system services) | pure Go (no cgo) | Direct system service calls without Java: works on non-Android Linux with binder, minimal footprint |
5050

5151
### When to use which
5252

5353
- **Start with ndk** when the NDK provides a C API for what you need (camera, audio, sensors, EGL/Vulkan, media codecs). These are the lowest-latency, lowest-overhead bindings since they go straight from Go to the C library via cgo.
5454

5555
- **Use jni** when you need a Java Android SDK API that the NDK does not expose. Examples: Bluetooth discovery, WiFi P2P, NFC tag reading, location services, telephony, content providers, notifications. JNI is also the right choice when you need to interact with Java components (Activities, Services, BroadcastReceivers) or when you need the gRPC remote-access layer.
5656

57-
- **Use aidl** when you want pure-Go access to Android system services without any cgo dependency. This is ideal for lightweight tools, CLI programs, or scenarios where you want to talk to the binder driver from a non-Android Linux system. AIDL covers the same system services that Java SDK wraps (ActivityManager, PowerManager, etc.) but at the wire-protocol level.
57+
- **Use binder** when you want pure-Go access to Android system services without any cgo dependency. This is ideal for lightweight tools, CLI programs, or scenarios where you want to talk to the binder driver from a non-Android Linux system. AIDL covers the same system services that Java SDK wraps (ActivityManager, PowerManager, etc.) but at the wire-protocol level.
5858

59-
- **Combine them** when your application needs multiple layers. For example, a streaming app might use **ndk** for camera capture and audio encoding, **jni** for Bluetooth controller discovery, and **aidl** for querying battery status from a companion daemon.
59+
- **Combine them** when your application needs multiple layers. For example, a streaming app might use **ndk** for camera capture and audio encoding, **jni** for Bluetooth controller discovery, and **binder** for querying battery status from a companion daemon.
6060

6161
### How they relate to each other
6262

6363
All three libraries talk to the same Android system services, but through different paths:
6464

6565
- The **NDK C APIs** are provided by Google as stable C interfaces to Android platform features. Some (camera, sensors, audio) internally use binder IPC to talk to system services; others (EGL, Vulkan, OpenGL) talk directly to kernel drivers. The `ndk` library wraps these C APIs via cgo.
6666
- The **Java SDK** uses binder IPC internally for system service access (BluetoothManager, LocationManager, etc.), routing calls through the Android Runtime (ART/Dalvik). The `jni` library calls into these Java APIs via the JNI C interface and cgo.
67-
- The **AIDL binder protocol** is the underlying IPC mechanism that system-facing NDK and Java SDK APIs use. The `aidl` library implements this protocol directly in pure Go, bypassing both C and Java layers entirely.
67+
- The **AIDL binder protocol** is the underlying IPC mechanism that system-facing NDK and Java SDK APIs use. The `binder` library implements this protocol directly in pure Go, bypassing both C and Java layers entirely.
6868

6969
## Requirements
7070

@@ -976,7 +976,7 @@ func main() {
976976
<details>
977977
<summary>How to query battery status</summary>
978978

979-
> **Library:** [aidl](https://github.com/xaionaro-go/aidl) — Battery info is available via the AIDL interface.
979+
> **Library:** [binder](https://github.com/xaionaro-go/binder) — Battery info is available via the AIDL interface.
980980
981981
```go
982982
package main
@@ -985,7 +985,7 @@ import (
985985
"fmt"
986986
"log"
987987

988-
"github.com/xaionaro-go/aidl/android/os"
988+
"github.com/xaionaro-go/binder/android/os"
989989
)
990990

991991
func main() {

0 commit comments

Comments
 (0)