Call Android system services from pure Go. Provides ~12000 type-safe Go methods across 600+ Android system services — ActivityManager, PowerManager, SurfaceFlinger, PackageManager, audio, camera and sensor HALs, and more — by speaking the Binder IPC wire protocol directly via /dev/binder ioctl syscalls. No Java, no NDK, no cgo required.
Includes a complete AIDL compiler that parses Android Interface Definition Language files and generates the Go proxies, a version-aware runtime that adapts transaction codes across Android API levels, and a CLI tool (bindercli) for interactive service discovery and invocation.
- Query system services — battery level, GPS location, thermal status, running processes, installed packages
- Control hardware — connect to WiFi, toggle flashlight, manage Bluetooth, configure audio
- Interact with any binder service — ActivityManager, PowerManager, SurfaceFlinger, camera/sensor HALs, and 600+ more
- No Java, no cgo — pure Go, cross-compiles to a static binary, runs on Android or any Linux with
/dev/binder - CLI tool included —
binderclifor interactive service discovery, method invocation, and debugging
Go library — go get github.com/xaionaro-go/binder and call any service:
driver, _ := kernelbinder.Open(ctx, binder.WithMapSize(128*1024))
defer driver.Close(ctx)
transport, _ := versionaware.NewTransport(ctx, driver, 0)
sm := servicemanager.New(transport)
mgr, _ := location.GetLocationManager(ctx, sm)
loc, _ := mgr.GetLastLocation(ctx, string(location.ProviderFused),
location.LastLocationRequest{}, "com.android.shell")
fmt.Printf("Lat: %.6f, Lon: %.6f\n", loc.LatitudeDegrees, loc.LongitudeDegrees)ndk, jni, binder (click to expand)
This project is part of a family of three Go libraries that cover the major Android interface surfaces. Each wraps a different layer of the Android platform:
graph TD
subgraph "Go application"
GO["Go code"]
end
subgraph "Interface libraries"
NDK["<b>ndk</b><br/>C API bindings via cgo"]
JNI["<b>jni</b><br/>Java API bindings via JNI+cgo"]
AIDL["<b>binder</b><br/>Binder IPC, pure Go"]
end
subgraph "Android platform"
CAPI["NDK C libraries<br/>(libcamera2ndk, libaaudio,<br/>libEGL, libvulkan, ...)"]
JAVA["Java SDK<br/>(android.bluetooth,<br/>android.location, ...)"]
BINDER["/dev/binder<br/>kernel driver"]
SYSSVCS["System services<br/>(ActivityManager,<br/>PowerManager, ...)"]
end
GO --> NDK
GO --> JNI
GO --> AIDL
NDK -- "cgo / #include" --> CAPI
JNI -- "cgo / JNIEnv*" --> JAVA
AIDL -- "ioctl syscalls" --> BINDER
BINDER --> SYSSVCS
JAVA -. "internally uses" .-> BINDER
CAPI -. "some use" .-> BINDER
| Library | Interface | Requires | Best for |
|---|---|---|---|
| ndk | Android NDK C APIs | cgo + NDK toolchain | High-performance hardware access: camera, audio, sensors, OpenGL/Vulkan, media codecs |
| jni | Java Android SDK via JNI | cgo + JNI + JVM/ART | Java-only APIs with no NDK equivalent: Bluetooth, WiFi, NFC, location, telephony, content providers |
| binder (this project) | Binder IPC (system services) | pure Go (no cgo) | Direct system service calls without Java: works on non-Android Linux with binder, minimal footprint |
-
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.
-
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.
-
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.
-
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.
All three libraries talk to the same Android system services, but through different paths:
- 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
ndklibrary wraps these C APIs via cgo. - The Java SDK uses binder IPC internally for system service access (BluetoothManager, LocationManager, etc.), routing calls through the Android Runtime (ART/Dalvik). The
jnilibrary calls into these Java APIs via the JNI C interface and cgo. - The AIDL binder protocol is the underlying IPC mechanism that system-facing NDK and Java SDK APIs use. The
binderlibrary implements this protocol directly in pure Go, bypassing both C and Java layers entirely.
import (
"github.com/xaionaro-go/binder/android/location"
"github.com/xaionaro-go/binder/binder"
"github.com/xaionaro-go/binder/binder/versionaware"
"github.com/xaionaro-go/binder/kernelbinder"
"github.com/xaionaro-go/binder/servicemanager"
)
ctx := context.Background()
driver, err := kernelbinder.Open(ctx, binder.WithMapSize(128*1024))
if err != nil {
log.Fatal(err)
}
defer driver.Close(ctx)
transport, err := versionaware.NewTransport(ctx, driver, 0)
if err != nil {
log.Fatal(err)
}
sm := servicemanager.New(transport)
mgr, err := location.GetLocationManager(ctx, sm)
if err != nil {
log.Fatal(err)
}
loc, err := mgr.GetLastLocation(ctx, string(location.ProviderFused),
location.LastLocationRequest{}, "com.android.shell")
if err != nil {
log.Fatal(err)
}
fmt.Printf("Lat: %.6f, Lon: %.6f\n", loc.LatitudeDegrees, loc.LongitudeDegrees)
fmt.Printf("Altitude: %.1f m\n", loc.AltitudeMeters) sm := servicemanager.New(transport)
services, err := sm.ListServices(ctx)
if err != nil {
log.Fatal(err)
}
for _, name := range services {
svc, err := sm.CheckService(ctx, name)
if err == nil && svc != nil && svc.IsAlive(ctx) {
fmt.Printf("%-60s alive\n", name)
}
}import "github.com/xaionaro-go/binder/android/os"
pm, err := os.GetPowerManager(ctx, sm)
if err != nil {
log.Fatal(err)
}
interactive, _ := pm.IsInteractive(ctx)
fmt.Printf("Screen on: %v\n", interactive)
powerSave, _ := pm.IsPowerSaveMode(ctx)
fmt.Printf("Power save: %v\n", powerSave)More examples: examples/
| Example | Queries |
|---|---|
list_services |
Enumerate all binder services, ping each |
activity_manager |
Process limits, monkey test flag, permission checks |
battery_health |
Capacity, charge status, current draw |
device_info |
Device properties, build info |
display_info |
Display IDs, brightness, night mode |
audio_status |
Audio device info, volume state |
power_status |
Power supply state, charging info |
storage_info |
Storage device stats, mount points |
package_query |
Package list, installation info |
softap_manage |
WiFi hotspot enable/disable, config |
softap_wifi_hal |
WiFi chip info, AP interface state |
softap_tether_offload |
Tethering offload config, stats |
bindercli lets you call any Android system service from the command line — no Go code needed.
Install and deploy:
GOOS=linux GOARCH=arm64 go build -o build/bindercli ./cmd/bindercli/
adb push build/bindercli /data/local/tmp/Try it:
# List all binder services
adb shell /data/local/tmp/bindercli service list
# Check battery level
adb shell /data/local/tmp/bindercli android.hardware.health.IHealth get-health-info
# Query ActivityManager
adb shell /data/local/tmp/bindercli android.app.IActivityManager get-process-limit
# Get GPS hardware info
adb shell /data/local/tmp/bindercli android.location.ILocationManager get-gnss-hardware-model-nameSee the full bindercli reference for all subcommands and more examples.
| Package | Description | Import Path | |
|---|---|---|---|
AIDL Pipeline (tools/pkg/) |
|||
tools/pkg/parser |
Lexer and recursive-descent parser producing an AST from .aidl files |
github.com/xaionaro-go/binder/tools/pkg/parser |
|
tools/pkg/resolver |
Import resolution across search paths with type registry and circular-import detection | github.com/xaionaro-go/binder/tools/pkg/resolver |
|
tools/pkg/codegen |
Go code generator for proxies, parcelables, enums, unions, and constants | github.com/xaionaro-go/binder/tools/pkg/codegen |
|
tools/pkg/validate |
Semantic validation: type resolution, parameter directions, oneway constraints | github.com/xaionaro-go/binder/tools/pkg/validate |
|
| Runtime | |||
binder |
Binder IPC abstractions: IBinder interface, Transact(), status/exception handling |
github.com/xaionaro-go/binder/binder |
|
parcel |
Binder wire format: 4-byte aligned, little-endian serialization | github.com/xaionaro-go/binder/parcel |
|
kernelbinder |
Linux /dev/binder driver: open, mmap, ioctl, protocol negotiation |
github.com/xaionaro-go/binder/kernelbinder |
|
servicemanager |
Client for android.os.IServiceManager: GetService(), ListServices(), etc. |
github.com/xaionaro-go/binder/servicemanager |
|
errors |
AIDL exception types: ExceptionCode, StatusError |
github.com/xaionaro-go/binder/errors |
|
| Testing | |||
tools/pkg/testutil |
Mock binder and reflection-based smoke testing for generated proxies | github.com/xaionaro-go/binder/tools/pkg/testutil |
632 packages, 5846 generated Go files.
android (1 packages)
| Package | Files | Import Path |
|---|---|---|
android |
6 | github.com/xaionaro-go/binder/android |
android/accessibilityservice (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/accessibilityservice |
7 | github.com/xaionaro-go/binder/android/accessibilityservice |
android/accounts (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/accounts |
9 | github.com/xaionaro-go/binder/android/accounts |
android/adpf (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/adpf |
1 | github.com/xaionaro-go/binder/android/adpf |
android/app (27 packages)
| Package | Files | Import Path |
|---|---|---|
android/app |
130 | github.com/xaionaro-go/binder/android/app |
android/app/admin |
48 | github.com/xaionaro-go/binder/android/app/admin |
android/app/ambientcontext |
5 | github.com/xaionaro-go/binder/android/app/ambientcontext |
android/app/appfunctions |
10 | github.com/xaionaro-go/binder/android/app/appfunctions |
android/app/assist |
4 | github.com/xaionaro-go/binder/android/app/assist |
android/app/backup |
12 | github.com/xaionaro-go/binder/android/app/backup |
android/app/blob |
6 | github.com/xaionaro-go/binder/android/app/blob |
android/app/contentsuggestions |
8 | github.com/xaionaro-go/binder/android/app/contentsuggestions |
android/app/contextualsearch |
4 | github.com/xaionaro-go/binder/android/app/contextualsearch |
android/app/job |
9 | github.com/xaionaro-go/binder/android/app/job |
android/app/ondeviceintelligence |
15 | github.com/xaionaro-go/binder/android/app/ondeviceintelligence |
android/app/people |
5 | github.com/xaionaro-go/binder/android/app/people |
android/app/pinner |
2 | github.com/xaionaro-go/binder/android/app/pinner |
android/app/prediction |
7 | github.com/xaionaro-go/binder/android/app/prediction |
android/app/search |
8 | github.com/xaionaro-go/binder/android/app/search |
android/app/servertransaction |
22 | github.com/xaionaro-go/binder/android/app/servertransaction |
android/app/slice |
5 | github.com/xaionaro-go/binder/android/app/slice |
android/app/smartspace |
7 | github.com/xaionaro-go/binder/android/app/smartspace |
android/app/supervision |
2 | github.com/xaionaro-go/binder/android/app/supervision |
android/app/time |
15 | github.com/xaionaro-go/binder/android/app/time |
android/app/timedetector |
3 | github.com/xaionaro-go/binder/android/app/timedetector |
android/app/timezonedetector |
3 | github.com/xaionaro-go/binder/android/app/timezonedetector |
android/app/trust |
3 | github.com/xaionaro-go/binder/android/app/trust |
android/app/usage |
19 | github.com/xaionaro-go/binder/android/app/usage |
android/app/wallpaper |
2 | github.com/xaionaro-go/binder/android/app/wallpaper |
android/app/wallpapereffectsgeneration |
7 | github.com/xaionaro-go/binder/android/app/wallpapereffectsgeneration |
android/app/wearable |
4 | github.com/xaionaro-go/binder/android/app/wearable |
android/apphibernation (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/apphibernation |
1 | github.com/xaionaro-go/binder/android/apphibernation |
android/appwidget (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/appwidget |
2 | github.com/xaionaro-go/binder/android/appwidget |
android/binderdebug (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/binderdebug/test |
1 | github.com/xaionaro-go/binder/android/binderdebug/test |
android/bluetooth (2 packages)
| Package | Files | Import Path |
|---|---|---|
android/bluetooth |
82 | github.com/xaionaro-go/binder/android/bluetooth |
android/bluetooth/le |
16 | github.com/xaionaro-go/binder/android/bluetooth/le |
android/companion (8 packages)
| Package | Files | Import Path |
|---|---|---|
android/companion |
18 | github.com/xaionaro-go/binder/android/companion |
android/companion/datatransfer |
2 | github.com/xaionaro-go/binder/android/companion/datatransfer |
android/companion/virtual |
10 | github.com/xaionaro-go/binder/android/companion/virtual |
android/companion/virtual/audio |
2 | github.com/xaionaro-go/binder/android/companion/virtual/audio |
android/companion/virtual/camera |
3 | github.com/xaionaro-go/binder/android/companion/virtual/camera |
android/companion/virtual/sensor |
4 | github.com/xaionaro-go/binder/android/companion/virtual/sensor |
android/companion/virtualcamera |
7 | github.com/xaionaro-go/binder/android/companion/virtualcamera |
android/companion/virtualnative |
1 | github.com/xaionaro-go/binder/android/companion/virtualnative |
android/content (10 packages)
| Package | Files | Import Path |
|---|---|---|
android/content |
40 | github.com/xaionaro-go/binder/android/content |
android/content/integrity |
4 | github.com/xaionaro-go/binder/android/content/integrity |
android/content/om |
3 | github.com/xaionaro-go/binder/android/content/om |
android/content/pm |
101 | github.com/xaionaro-go/binder/android/content/pm |
android/content/pm/dependencyinstaller |
3 | github.com/xaionaro-go/binder/android/content/pm/dependencyinstaller |
android/content/pm/dex |
2 | github.com/xaionaro-go/binder/android/content/pm/dex |
android/content/pm/permission |
3 | github.com/xaionaro-go/binder/android/content/pm/permission |
android/content/pm/verify/domain |
6 | github.com/xaionaro-go/binder/android/content/pm/verify/domain |
android/content/res |
6 | github.com/xaionaro-go/binder/android/content/res |
android/content/rollback |
3 | github.com/xaionaro-go/binder/android/content/rollback |
android/credentials (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/credentials |
24 | github.com/xaionaro-go/binder/android/credentials |
android/database (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/database |
3 | github.com/xaionaro-go/binder/android/database |
android/debug (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/debug |
7 | github.com/xaionaro-go/binder/android/debug |
android/flags (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/flags |
3 | github.com/xaionaro-go/binder/android/flags |
android/frameworks (14 packages)
| Package | Files | Import Path |
|---|---|---|
android/frameworks/automotive/display |
3 | github.com/xaionaro-go/binder/android/frameworks/automotive/display |
android/frameworks/automotive/powerpolicy |
5 | github.com/xaionaro-go/binder/android/frameworks/automotive/powerpolicy |
android/frameworks/automotive/powerpolicy/internal_ |
2 | github.com/xaionaro-go/binder/android/frameworks/automotive/powerpolicy/internal_ |
android/frameworks/automotive/telemetry |
4 | github.com/xaionaro-go/binder/android/frameworks/automotive/telemetry |
android/frameworks/cameraservice/common |
6 | github.com/xaionaro-go/binder/android/frameworks/cameraservice/common |
android/frameworks/cameraservice/device |
15 | github.com/xaionaro-go/binder/android/frameworks/cameraservice/device |
android/frameworks/cameraservice/device/OutputConfiguration |
2 | github.com/xaionaro-go/binder/android/frameworks/cameraservice/device/OutputConfiguration |
android/frameworks/cameraservice/service |
4 | github.com/xaionaro-go/binder/android/frameworks/cameraservice/service |
android/frameworks/devicestate |
4 | github.com/xaionaro-go/binder/android/frameworks/devicestate |
android/frameworks/devicestate/DeviceStateConfiguration |
1 | github.com/xaionaro-go/binder/android/frameworks/devicestate/DeviceStateConfiguration |
android/frameworks/location/altitude |
5 | github.com/xaionaro-go/binder/android/frameworks/location/altitude |
android/frameworks/sensorservice |
4 | github.com/xaionaro-go/binder/android/frameworks/sensorservice |
android/frameworks/stats |
8 | github.com/xaionaro-go/binder/android/frameworks/stats |
android/frameworks/vibrator |
4 | github.com/xaionaro-go/binder/android/frameworks/vibrator |
android/graphics (5 packages)
| Package | Files | Import Path |
|---|---|---|
android/graphics |
10 | github.com/xaionaro-go/binder/android/graphics |
android/graphics/bufferstreams |
6 | github.com/xaionaro-go/binder/android/graphics/bufferstreams |
android/graphics/bufferstreams/BufferCacheUpdate |
2 | github.com/xaionaro-go/binder/android/graphics/bufferstreams/BufferCacheUpdate |
android/graphics/drawable |
1 | github.com/xaionaro-go/binder/android/graphics/drawable |
android/graphics/fonts |
1 | github.com/xaionaro-go/binder/android/graphics/fonts |
android/gui (8 packages)
| Package | Files | Import Path |
|---|---|---|
android/gui |
59 | github.com/xaionaro-go/binder/android/gui |
android/gui/DeviceProductInfo |
4 | github.com/xaionaro-go/binder/android/gui/DeviceProductInfo |
android/gui/DisplayModeSpecs |
2 | github.com/xaionaro-go/binder/android/gui/DisplayModeSpecs |
android/gui/DisplayModeSpecs/RefreshRateRanges |
1 | github.com/xaionaro-go/binder/android/gui/DisplayModeSpecs/RefreshRateRanges |
android/gui/DisplayPrimaries |
1 | github.com/xaionaro-go/binder/android/gui/DisplayPrimaries |
android/gui/ISurfaceComposer |
2 | github.com/xaionaro-go/binder/android/gui/ISurfaceComposer |
android/gui/LutProperties |
2 | github.com/xaionaro-go/binder/android/gui/LutProperties |
android/gui/OverlayProperties |
1 | github.com/xaionaro-go/binder/android/gui/OverlayProperties |
android/hardware (283 packages)
| Package | Files | Import Path |
|---|---|---|
android/hardware |
18 | github.com/xaionaro-go/binder/android/hardware |
android/hardware/CameraExtensionSessionStats |
1 | github.com/xaionaro-go/binder/android/hardware/CameraExtensionSessionStats |
android/hardware/CameraFeatureCombinationStats |
1 | github.com/xaionaro-go/binder/android/hardware/CameraFeatureCombinationStats |
android/hardware/audio/common |
5 | github.com/xaionaro-go/binder/android/hardware/audio/common |
android/hardware/audio/core |
18 | github.com/xaionaro-go/binder/android/hardware/audio/core |
android/hardware/audio/core/IBluetooth |
2 | github.com/xaionaro-go/binder/android/hardware/audio/core/IBluetooth |
android/hardware/audio/core/IBluetooth/ScoConfig |
1 | github.com/xaionaro-go/binder/android/hardware/audio/core/IBluetooth/ScoConfig |
android/hardware/audio/core/IModule |
6 | github.com/xaionaro-go/binder/android/hardware/audio/core/IModule |
android/hardware/audio/core/IStreamIn |
1 | github.com/xaionaro-go/binder/android/hardware/audio/core/IStreamIn |
android/hardware/audio/core/ITelephony |
1 | github.com/xaionaro-go/binder/android/hardware/audio/core/ITelephony |
android/hardware/audio/core/ITelephony/TelecomConfig |
1 | github.com/xaionaro-go/binder/android/hardware/audio/core/ITelephony/TelecomConfig |
android/hardware/audio/core/StreamDescriptor |
6 | github.com/xaionaro-go/binder/android/hardware/audio/core/StreamDescriptor |
android/hardware/audio/core/SurroundSoundConfig |
1 | github.com/xaionaro-go/binder/android/hardware/audio/core/SurroundSoundConfig |
android/hardware/audio/core/sounddose |
1 | github.com/xaionaro-go/binder/android/hardware/audio/core/sounddose |
android/hardware/audio/core/sounddose/ISoundDose |
1 | github.com/xaionaro-go/binder/android/hardware/audio/core/sounddose/ISoundDose |
android/hardware/audio/core/sounddose/ISoundDose/IHalSoundDoseCallback |
1 | github.com/xaionaro-go/binder/android/hardware/audio/core/sounddose/ISoundDose/IHalSoundDoseCallback |
android/hardware/audio/effect |
29 | github.com/xaionaro-go/binder/android/hardware/audio/effect |
android/hardware/audio/effect/AcousticEchoCanceler |
1 | github.com/xaionaro-go/binder/android/hardware/audio/effect/AcousticEchoCanceler |
android/hardware/audio/effect/AutomaticGainControlV1 |
1 | github.com/xaionaro-go/binder/android/hardware/audio/effect/AutomaticGainControlV1 |
android/hardware/audio/effect/AutomaticGainControlV2 |
2 | github.com/xaionaro-go/binder/android/hardware/audio/effect/AutomaticGainControlV2 |
android/hardware/audio/effect/BassBoost |
1 | github.com/xaionaro-go/binder/android/hardware/audio/effect/BassBoost |
android/hardware/audio/effect/Descriptor |
2 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Descriptor |
android/hardware/audio/effect/Downmix |
2 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Downmix |
android/hardware/audio/effect/DynamicsProcessing |
9 | github.com/xaionaro-go/binder/android/hardware/audio/effect/DynamicsProcessing |
android/hardware/audio/effect/EnvironmentalReverb |
1 | github.com/xaionaro-go/binder/android/hardware/audio/effect/EnvironmentalReverb |
android/hardware/audio/effect/Equalizer |
4 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Equalizer |
android/hardware/audio/effect/Eraser |
1 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Eraser |
android/hardware/audio/effect/Flags |
4 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Flags |
android/hardware/audio/effect/HapticGenerator |
4 | github.com/xaionaro-go/binder/android/hardware/audio/effect/HapticGenerator |
android/hardware/audio/effect/IEffect |
2 | github.com/xaionaro-go/binder/android/hardware/audio/effect/IEffect |
android/hardware/audio/effect/LoudnessEnhancer |
1 | github.com/xaionaro-go/binder/android/hardware/audio/effect/LoudnessEnhancer |
android/hardware/audio/effect/NoiseSuppression |
3 | github.com/xaionaro-go/binder/android/hardware/audio/effect/NoiseSuppression |
android/hardware/audio/effect/Parameter |
4 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Parameter |
android/hardware/audio/effect/PresetReverb |
2 | github.com/xaionaro-go/binder/android/hardware/audio/effect/PresetReverb |
android/hardware/audio/effect/Processing |
1 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Processing |
android/hardware/audio/effect/Range |
17 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Range |
android/hardware/audio/effect/Spatializer |
1 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Spatializer |
android/hardware/audio/effect/Virtualizer |
3 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Virtualizer |
android/hardware/audio/effect/Visualizer |
4 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Visualizer |
android/hardware/audio/effect/Volume |
1 | github.com/xaionaro-go/binder/android/hardware/audio/effect/Volume |
android/hardware/audio/sounddose |
1 | github.com/xaionaro-go/binder/android/hardware/audio/sounddose |
android/hardware/authsecret |
1 | github.com/xaionaro-go/binder/android/hardware/authsecret |
android/hardware/automotive/audiocontrol |
25 | github.com/xaionaro-go/binder/android/hardware/automotive/audiocontrol |
android/hardware/automotive/audiocontrol/FadeConfiguration |
1 | github.com/xaionaro-go/binder/android/hardware/automotive/audiocontrol/FadeConfiguration |
android/hardware/automotive/can |
8 | github.com/xaionaro-go/binder/android/hardware/automotive/can |
android/hardware/automotive/can/BusConfig |
1 | github.com/xaionaro-go/binder/android/hardware/automotive/can/BusConfig |
android/hardware/automotive/can/NativeInterface |
1 | github.com/xaionaro-go/binder/android/hardware/automotive/can/NativeInterface |
android/hardware/automotive/can/SlcanInterface |
1 | github.com/xaionaro-go/binder/android/hardware/automotive/can/SlcanInterface |
android/hardware/automotive/evs |
35 | github.com/xaionaro-go/binder/android/hardware/automotive/evs |
android/hardware/automotive/ivn |
6 | github.com/xaionaro-go/binder/android/hardware/automotive/ivn |
android/hardware/automotive/occupant_awareness |
11 | github.com/xaionaro-go/binder/android/hardware/automotive/occupant_awareness |
android/hardware/automotive/remoteaccess |
5 | github.com/xaionaro-go/binder/android/hardware/automotive/remoteaccess |
android/hardware/automotive/vehicle |
147 | github.com/xaionaro-go/binder/android/hardware/automotive/vehicle |
android/hardware/biometrics |
24 | github.com/xaionaro-go/binder/android/hardware/biometrics |
android/hardware/biometrics/IBiometricContextListener |
1 | github.com/xaionaro-go/binder/android/hardware/biometrics/IBiometricContextListener |
android/hardware/biometrics/common |
11 | github.com/xaionaro-go/binder/android/hardware/biometrics/common |
android/hardware/biometrics/common/AuthenticateReason |
3 | github.com/xaionaro-go/binder/android/hardware/biometrics/common/AuthenticateReason |
android/hardware/biometrics/common/OperationState |
2 | github.com/xaionaro-go/binder/android/hardware/biometrics/common/OperationState |
android/hardware/biometrics/events |
7 | github.com/xaionaro-go/binder/android/hardware/biometrics/events |
android/hardware/biometrics/face |
16 | github.com/xaionaro-go/binder/android/hardware/biometrics/face |
android/hardware/biometrics/face/virtualhal |
4 | github.com/xaionaro-go/binder/android/hardware/biometrics/face/virtualhal |
android/hardware/biometrics/fingerprint |
11 | github.com/xaionaro-go/binder/android/hardware/biometrics/fingerprint |
android/hardware/biometrics/fingerprint/virtualhal |
4 | github.com/xaionaro-go/binder/android/hardware/biometrics/fingerprint/virtualhal |
android/hardware/bluetooth |
3 | github.com/xaionaro-go/binder/android/hardware/bluetooth |
android/hardware/bluetooth/audio |
65 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio |
android/hardware/bluetooth/audio/BroadcastCapability |
2 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/BroadcastCapability |
android/hardware/bluetooth/audio/CodecCapabilities |
2 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/CodecCapabilities |
android/hardware/bluetooth/audio/CodecConfiguration |
2 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/CodecConfiguration |
android/hardware/bluetooth/audio/CodecId |
3 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/CodecId |
android/hardware/bluetooth/audio/CodecInfo |
4 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/CodecInfo |
android/hardware/bluetooth/audio/CodecSpecificCapabilitiesLtv |
5 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/CodecSpecificCapabilitiesLtv |
android/hardware/bluetooth/audio/CodecSpecificConfigurationLtv |
5 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/CodecSpecificConfigurationLtv |
android/hardware/bluetooth/audio/IBluetoothAudioProvider |
18 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/IBluetoothAudioProvider |
android/hardware/bluetooth/audio/IBluetoothAudioProvider/LeAudioAseConfigurationSetting |
1 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/IBluetoothAudioProvider/LeAudioAseConfigurationSetting |
android/hardware/bluetooth/audio/IBluetoothAudioProvider/LeAudioAseQosConfigurationRequirement |
1 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/IBluetoothAudioProvider/LeAudioAseQosConfigurationRequirement |
android/hardware/bluetooth/audio/IBluetoothAudioProvider/LeAudioConfigurationRequirement |
1 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/IBluetoothAudioProvider/LeAudioConfigurationRequirement |
android/hardware/bluetooth/audio/IBluetoothAudioProvider/LeAudioDataPathConfiguration |
2 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/IBluetoothAudioProvider/LeAudioDataPathConfiguration |
android/hardware/bluetooth/audio/IBluetoothAudioProviderFactory |
1 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/IBluetoothAudioProviderFactory |
android/hardware/bluetooth/audio/LeAudioAseConfiguration |
1 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/LeAudioAseConfiguration |
android/hardware/bluetooth/audio/LeAudioBroadcastConfiguration |
1 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/LeAudioBroadcastConfiguration |
android/hardware/bluetooth/audio/LeAudioCodecConfiguration |
1 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/LeAudioCodecConfiguration |
android/hardware/bluetooth/audio/LeAudioConfiguration |
1 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/LeAudioConfiguration |
android/hardware/bluetooth/audio/LeAudioConfiguration/StreamMap |
1 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/LeAudioConfiguration/StreamMap |
android/hardware/bluetooth/audio/LeAudioConfiguration/StreamMap/BluetoothDeviceAddress |
1 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/LeAudioConfiguration/StreamMap/BluetoothDeviceAddress |
android/hardware/bluetooth/audio/MetadataLtv |
3 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/MetadataLtv |
android/hardware/bluetooth/audio/PresentationPosition |
1 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/PresentationPosition |
android/hardware/bluetooth/audio/UnicastCapability |
2 | github.com/xaionaro-go/binder/android/hardware/bluetooth/audio/UnicastCapability |
android/hardware/bluetooth/finder |
2 | github.com/xaionaro-go/binder/android/hardware/bluetooth/finder |
android/hardware/bluetooth/lmp_event |
6 | github.com/xaionaro-go/binder/android/hardware/bluetooth/lmp_event |
android/hardware/bluetooth/offload/leaudio |
3 | github.com/xaionaro-go/binder/android/hardware/bluetooth/offload/leaudio |
android/hardware/bluetooth/ranging |
41 | github.com/xaionaro-go/binder/android/hardware/bluetooth/ranging |
android/hardware/bluetooth/socket |
10 | github.com/xaionaro-go/binder/android/hardware/bluetooth/socket |
android/hardware/boot |
2 | github.com/xaionaro-go/binder/android/hardware/boot |
android/hardware/broadcastradio |
33 | github.com/xaionaro-go/binder/android/hardware/broadcastradio |
android/hardware/camera/common |
8 | github.com/xaionaro-go/binder/android/hardware/camera/common |
android/hardware/camera/device |
35 | github.com/xaionaro-go/binder/android/hardware/camera/device |
android/hardware/camera/metadata |
105 | github.com/xaionaro-go/binder/android/hardware/camera/metadata |
android/hardware/camera/provider |
4 | github.com/xaionaro-go/binder/android/hardware/camera/provider |
android/hardware/camera2 |
7 | github.com/xaionaro-go/binder/android/hardware/camera2 |
android/hardware/camera2/extension |
30 | github.com/xaionaro-go/binder/android/hardware/camera2/extension |
android/hardware/cas |
13 | github.com/xaionaro-go/binder/android/hardware/cas |
android/hardware/common |
3 | github.com/xaionaro-go/binder/android/hardware/common |
android/hardware/common/fmq |
4 | github.com/xaionaro-go/binder/android/hardware/common/fmq |
android/hardware/confirmationui |
4 | github.com/xaionaro-go/binder/android/hardware/confirmationui |
android/hardware/contexthub |
28 | github.com/xaionaro-go/binder/android/hardware/contexthub |
android/hardware/contexthub/EndpointInfo |
1 | github.com/xaionaro-go/binder/android/hardware/contexthub/EndpointInfo |
android/hardware/contexthub/HostEndpointInfo |
1 | github.com/xaionaro-go/binder/android/hardware/contexthub/HostEndpointInfo |
android/hardware/contexthub/HubInfo |
1 | github.com/xaionaro-go/binder/android/hardware/contexthub/HubInfo |
android/hardware/contexthub/Service |
1 | github.com/xaionaro-go/binder/android/hardware/contexthub/Service |
android/hardware/devicestate |
3 | github.com/xaionaro-go/binder/android/hardware/devicestate |
android/hardware/display |
20 | github.com/xaionaro-go/binder/android/hardware/display |
android/hardware/drm |
38 | github.com/xaionaro-go/binder/android/hardware/drm |
android/hardware/dumpstate |
1 | github.com/xaionaro-go/binder/android/hardware/dumpstate |
android/hardware/dumpstate/IDumpstateDevice |
1 | github.com/xaionaro-go/binder/android/hardware/dumpstate/IDumpstateDevice |
android/hardware/face |
13 | github.com/xaionaro-go/binder/android/hardware/face |
android/hardware/fastboot |
2 | github.com/xaionaro-go/binder/android/hardware/fastboot |
android/hardware/fingerprint |
13 | github.com/xaionaro-go/binder/android/hardware/fingerprint |
android/hardware/gatekeeper |
3 | github.com/xaionaro-go/binder/android/hardware/gatekeeper |
android/hardware/gnss |
38 | github.com/xaionaro-go/binder/android/hardware/gnss |
android/hardware/gnss/GnssData |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/GnssData |
android/hardware/gnss/IAGnss |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/IAGnss |
android/hardware/gnss/IAGnssCallback |
2 | github.com/xaionaro-go/binder/android/hardware/gnss/IAGnssCallback |
android/hardware/gnss/IAGnssRil |
5 | github.com/xaionaro-go/binder/android/hardware/gnss/IAGnssRil |
android/hardware/gnss/IGnss |
4 | github.com/xaionaro-go/binder/android/hardware/gnss/IGnss |
android/hardware/gnss/IGnssAntennaInfoCallback |
3 | github.com/xaionaro-go/binder/android/hardware/gnss/IGnssAntennaInfoCallback |
android/hardware/gnss/IGnssBatching |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/IGnssBatching |
android/hardware/gnss/IGnssCallback |
4 | github.com/xaionaro-go/binder/android/hardware/gnss/IGnssCallback |
android/hardware/gnss/IGnssDebug |
6 | github.com/xaionaro-go/binder/android/hardware/gnss/IGnssDebug |
android/hardware/gnss/IGnssMeasurementInterface |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/IGnssMeasurementInterface |
android/hardware/gnss/IGnssNavigationMessageCallback |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/IGnssNavigationMessageCallback |
android/hardware/gnss/IGnssNavigationMessageCallback/GnssNavigationMessage |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/IGnssNavigationMessageCallback/GnssNavigationMessage |
android/hardware/gnss/SatellitePvt |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/SatellitePvt |
android/hardware/gnss/gnss_assistance |
20 | github.com/xaionaro-go/binder/android/hardware/gnss/gnss_assistance |
android/hardware/gnss/gnss_assistance/BeidouSatelliteEphemeris |
3 | github.com/xaionaro-go/binder/android/hardware/gnss/gnss_assistance/BeidouSatelliteEphemeris |
android/hardware/gnss/gnss_assistance/GalileoSatelliteEphemeris |
2 | github.com/xaionaro-go/binder/android/hardware/gnss/gnss_assistance/GalileoSatelliteEphemeris |
android/hardware/gnss/gnss_assistance/GalileoSatelliteEphemeris/GalileoSatelliteClockModel |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/gnss_assistance/GalileoSatelliteEphemeris/GalileoSatelliteClockModel |
android/hardware/gnss/gnss_assistance/GlonassAlmanac |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/gnss_assistance/GlonassAlmanac |
android/hardware/gnss/gnss_assistance/GlonassSatelliteEphemeris |
2 | github.com/xaionaro-go/binder/android/hardware/gnss/gnss_assistance/GlonassSatelliteEphemeris |
android/hardware/gnss/gnss_assistance/GnssAlmanac |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/gnss_assistance/GnssAlmanac |
android/hardware/gnss/gnss_assistance/GnssAssistance |
6 | github.com/xaionaro-go/binder/android/hardware/gnss/gnss_assistance/GnssAssistance |
android/hardware/gnss/gnss_assistance/GnssCorrectionComponent |
2 | github.com/xaionaro-go/binder/android/hardware/gnss/gnss_assistance/GnssCorrectionComponent |
android/hardware/gnss/gnss_assistance/GpsSatelliteEphemeris |
3 | github.com/xaionaro-go/binder/android/hardware/gnss/gnss_assistance/GpsSatelliteEphemeris |
android/hardware/gnss/gnss_assistance/KeplerianOrbitModel |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/gnss_assistance/KeplerianOrbitModel |
android/hardware/gnss/measurement_corrections |
5 | github.com/xaionaro-go/binder/android/hardware/gnss/measurement_corrections |
android/hardware/gnss/measurement_corrections/SingleSatCorrection |
1 | github.com/xaionaro-go/binder/android/hardware/gnss/measurement_corrections/SingleSatCorrection |
android/hardware/gnss/visibility_control |
2 | github.com/xaionaro-go/binder/android/hardware/gnss/visibility_control |
android/hardware/gnss/visibility_control/IGnssVisibilityControlCallback |
4 | github.com/xaionaro-go/binder/android/hardware/gnss/visibility_control/IGnssVisibilityControlCallback |
android/hardware/graphics/allocator |
4 | github.com/xaionaro-go/binder/android/hardware/graphics/allocator |
android/hardware/graphics/common |
28 | github.com/xaionaro-go/binder/android/hardware/graphics/common |
android/hardware/graphics/composer3 |
59 | github.com/xaionaro-go/binder/android/hardware/graphics/composer3 |
android/hardware/graphics/composer3/DisplayConfiguration |
1 | github.com/xaionaro-go/binder/android/hardware/graphics/composer3/DisplayConfiguration |
android/hardware/graphics/composer3/DisplayLuts |
1 | github.com/xaionaro-go/binder/android/hardware/graphics/composer3/DisplayLuts |
android/hardware/graphics/composer3/DisplayRequest |
1 | github.com/xaionaro-go/binder/android/hardware/graphics/composer3/DisplayRequest |
android/hardware/graphics/composer3/LutProperties |
2 | github.com/xaionaro-go/binder/android/hardware/graphics/composer3/LutProperties |
android/hardware/graphics/composer3/OverlayProperties |
1 | github.com/xaionaro-go/binder/android/hardware/graphics/composer3/OverlayProperties |
android/hardware/graphics/composer3/PresentFence |
1 | github.com/xaionaro-go/binder/android/hardware/graphics/composer3/PresentFence |
android/hardware/graphics/composer3/PresentOrValidate |
1 | github.com/xaionaro-go/binder/android/hardware/graphics/composer3/PresentOrValidate |
android/hardware/graphics/composer3/ReleaseFences |
1 | github.com/xaionaro-go/binder/android/hardware/graphics/composer3/ReleaseFences |
android/hardware/graphics/composer3/VrrConfig |
2 | github.com/xaionaro-go/binder/android/hardware/graphics/composer3/VrrConfig |
android/hardware/hdmi |
16 | github.com/xaionaro-go/binder/android/hardware/hdmi |
android/hardware/health |
13 | github.com/xaionaro-go/binder/android/hardware/health |
android/hardware/health/storage |
3 | github.com/xaionaro-go/binder/android/hardware/health/storage |
android/hardware/identity |
10 | github.com/xaionaro-go/binder/android/hardware/identity |
android/hardware/input |
37 | github.com/xaionaro-go/binder/android/hardware/input |
android/hardware/input/AidlInputGestureData |
3 | github.com/xaionaro-go/binder/android/hardware/input/AidlInputGestureData |
android/hardware/input/common |
15 | github.com/xaionaro-go/binder/android/hardware/input/common |
android/hardware/input/processor |
1 | github.com/xaionaro-go/binder/android/hardware/input/processor |
android/hardware/ir |
2 | github.com/xaionaro-go/binder/android/hardware/ir |
android/hardware/iris |
2 | github.com/xaionaro-go/binder/android/hardware/iris |
android/hardware/keymaster |
5 | github.com/xaionaro-go/binder/android/hardware/keymaster |
android/hardware/light |
6 | github.com/xaionaro-go/binder/android/hardware/light |
android/hardware/lights |
3 | github.com/xaionaro-go/binder/android/hardware/lights |
android/hardware/location |
31 | github.com/xaionaro-go/binder/android/hardware/location |
android/hardware/macsec |
1 | github.com/xaionaro-go/binder/android/hardware/macsec |
android/hardware/media/bufferpool2 |
9 | github.com/xaionaro-go/binder/android/hardware/media/bufferpool2 |
android/hardware/media/bufferpool2/IAccessor |
1 | github.com/xaionaro-go/binder/android/hardware/media/bufferpool2/IAccessor |
android/hardware/media/bufferpool2/IClientManager |
1 | github.com/xaionaro-go/binder/android/hardware/media/bufferpool2/IClientManager |
android/hardware/media/bufferpool2/IConnection |
2 | github.com/xaionaro-go/binder/android/hardware/media/bufferpool2/IConnection |
android/hardware/media/c2 |
32 | github.com/xaionaro-go/binder/android/hardware/media/c2 |
android/hardware/media/c2/FieldDescriptor |
2 | github.com/xaionaro-go/binder/android/hardware/media/c2/FieldDescriptor |
android/hardware/media/c2/FieldSupportedValuesQuery |
1 | github.com/xaionaro-go/binder/android/hardware/media/c2/FieldSupportedValuesQuery |
android/hardware/media/c2/IComponent |
4 | github.com/xaionaro-go/binder/android/hardware/media/c2/IComponent |
android/hardware/media/c2/IComponentListener |
2 | github.com/xaionaro-go/binder/android/hardware/media/c2/IComponentListener |
android/hardware/media/c2/IComponentStore |
1 | github.com/xaionaro-go/binder/android/hardware/media/c2/IComponentStore |
android/hardware/media/c2/IComponentStore/ComponentTraits |
2 | github.com/xaionaro-go/binder/android/hardware/media/c2/IComponentStore/ComponentTraits |
android/hardware/media/c2/IConfigurable |
3 | github.com/xaionaro-go/binder/android/hardware/media/c2/IConfigurable |
android/hardware/media/c2/IGraphicBufferAllocator |
2 | github.com/xaionaro-go/binder/android/hardware/media/c2/IGraphicBufferAllocator |
android/hardware/media/c2/IPooledGraphicBufferAllocator |
2 | github.com/xaionaro-go/binder/android/hardware/media/c2/IPooledGraphicBufferAllocator |
android/hardware/media/c2/SettingResult |
1 | github.com/xaionaro-go/binder/android/hardware/media/c2/SettingResult |
android/hardware/memtrack |
4 | github.com/xaionaro-go/binder/android/hardware/memtrack |
android/hardware/net/nlinterceptor |
2 | github.com/xaionaro-go/binder/android/hardware/net/nlinterceptor |
android/hardware/neuralnetworks |
44 | github.com/xaionaro-go/binder/android/hardware/neuralnetworks |
android/hardware/nfc |
8 | github.com/xaionaro-go/binder/android/hardware/nfc |
android/hardware/oemlock |
2 | github.com/xaionaro-go/binder/android/hardware/oemlock |
android/hardware/power |
22 | github.com/xaionaro-go/binder/android/hardware/power |
android/hardware/power/ChannelMessage |
1 | github.com/xaionaro-go/binder/android/hardware/power/ChannelMessage |
android/hardware/power/ChannelMessage/ChannelMessageContents |
1 | github.com/xaionaro-go/binder/android/hardware/power/ChannelMessage/ChannelMessageContents |
android/hardware/power/CpuHeadroomParams |
1 | github.com/xaionaro-go/binder/android/hardware/power/CpuHeadroomParams |
android/hardware/power/GpuHeadroomParams |
1 | github.com/xaionaro-go/binder/android/hardware/power/GpuHeadroomParams |
android/hardware/power/SupportInfo |
2 | github.com/xaionaro-go/binder/android/hardware/power/SupportInfo |
android/hardware/power/stats |
11 | github.com/xaionaro-go/binder/android/hardware/power/stats |
android/hardware/radio |
26 | github.com/xaionaro-go/binder/android/hardware/radio |
android/hardware/radio/config |
10 | github.com/xaionaro-go/binder/android/hardware/radio/config |
android/hardware/radio/data |
31 | github.com/xaionaro-go/binder/android/hardware/radio/data |
android/hardware/radio/ims |
14 | github.com/xaionaro-go/binder/android/hardware/radio/ims |
android/hardware/radio/ims/ConnectionFailureInfo |
1 | github.com/xaionaro-go/binder/android/hardware/radio/ims/ConnectionFailureInfo |
android/hardware/radio/ims/ImsCall |
3 | github.com/xaionaro-go/binder/android/hardware/radio/ims/ImsCall |
android/hardware/radio/ims/SrvccCall |
3 | github.com/xaionaro-go/binder/android/hardware/radio/ims/SrvccCall |
android/hardware/radio/ims/media |
28 | github.com/xaionaro-go/binder/android/hardware/radio/ims/media |
android/hardware/radio/messaging |
15 | github.com/xaionaro-go/binder/android/hardware/radio/messaging |
android/hardware/radio/modem |
15 | github.com/xaionaro-go/binder/android/hardware/radio/modem |
android/hardware/radio/modem/ImeiInfo |
1 | github.com/xaionaro-go/binder/android/hardware/radio/modem/ImeiInfo |
android/hardware/radio/network |
71 | github.com/xaionaro-go/binder/android/hardware/radio/network |
android/hardware/radio/network/EutranRegistrationInfo |
1 | github.com/xaionaro-go/binder/android/hardware/radio/network/EutranRegistrationInfo |
android/hardware/radio/sap |
8 | github.com/xaionaro-go/binder/android/hardware/radio/sap |
android/hardware/radio/sim |
24 | github.com/xaionaro-go/binder/android/hardware/radio/sim |
android/hardware/radio/sim/CarrierRestrictions |
1 | github.com/xaionaro-go/binder/android/hardware/radio/sim/CarrierRestrictions |
android/hardware/radio/voice |
30 | github.com/xaionaro-go/binder/android/hardware/radio/voice |
android/hardware/rebootescrow |
1 | github.com/xaionaro-go/binder/android/hardware/rebootescrow |
android/hardware/secure_element |
3 | github.com/xaionaro-go/binder/android/hardware/secure_element |
android/hardware/security/authgraph |
12 | github.com/xaionaro-go/binder/android/hardware/security/authgraph |
android/hardware/security/keymint |
29 | github.com/xaionaro-go/binder/android/hardware/security/keymint |
android/hardware/security/secretkeeper |
3 | github.com/xaionaro-go/binder/android/hardware/security/secretkeeper |
android/hardware/security/secureclock |
3 | github.com/xaionaro-go/binder/android/hardware/security/secureclock |
android/hardware/security/see/authmgr |
7 | github.com/xaionaro-go/binder/android/hardware/security/see/authmgr |
android/hardware/security/see/hdcp |
1 | github.com/xaionaro-go/binder/android/hardware/security/see/hdcp |
android/hardware/security/see/hdcp/IHdcpAuthControl |
2 | github.com/xaionaro-go/binder/android/hardware/security/see/hdcp/IHdcpAuthControl |
android/hardware/security/see/hdcp/IHdcpAuthControl/PendingHdcpLevelResult |
1 | github.com/xaionaro-go/binder/android/hardware/security/see/hdcp/IHdcpAuthControl/PendingHdcpLevelResult |
android/hardware/security/see/hwcrypto |
12 | github.com/xaionaro-go/binder/android/hardware/security/see/hwcrypto |
android/hardware/security/see/hwcrypto/IHwCryptoKey |
9 | github.com/xaionaro-go/binder/android/hardware/security/see/hwcrypto/IHwCryptoKey |
android/hardware/security/see/hwcrypto/MemoryBufferParameter |
1 | github.com/xaionaro-go/binder/android/hardware/security/see/hwcrypto/MemoryBufferParameter |
android/hardware/security/see/hwcrypto/types |
23 | github.com/xaionaro-go/binder/android/hardware/security/see/hwcrypto/types |
android/hardware/security/see/hwcrypto/types/AesGcmMode |
1 | github.com/xaionaro-go/binder/android/hardware/security/see/hwcrypto/types/AesGcmMode |
android/hardware/security/see/storage |
10 | github.com/xaionaro-go/binder/android/hardware/security/see/storage |
android/hardware/security/sharedsecret |
2 | github.com/xaionaro-go/binder/android/hardware/security/sharedsecret |
android/hardware/sensors |
8 | github.com/xaionaro-go/binder/android/hardware/sensors |
android/hardware/sensors/AdditionalInfo |
2 | github.com/xaionaro-go/binder/android/hardware/sensors/AdditionalInfo |
android/hardware/sensors/AdditionalInfo/AdditionalInfoPayload |
2 | github.com/xaionaro-go/binder/android/hardware/sensors/AdditionalInfo/AdditionalInfoPayload |
android/hardware/sensors/DynamicSensorInfo |
1 | github.com/xaionaro-go/binder/android/hardware/sensors/DynamicSensorInfo |
android/hardware/sensors/Event |
1 | github.com/xaionaro-go/binder/android/hardware/sensors/Event |
android/hardware/sensors/Event/EventPayload |
11 | github.com/xaionaro-go/binder/android/hardware/sensors/Event/EventPayload |
android/hardware/sensors/Event/EventPayload/MetaData |
1 | github.com/xaionaro-go/binder/android/hardware/sensors/Event/EventPayload/MetaData |
android/hardware/sensors/ISensors |
3 | github.com/xaionaro-go/binder/android/hardware/sensors/ISensors |
android/hardware/sensors/ISensors/SharedMemInfo |
2 | github.com/xaionaro-go/binder/android/hardware/sensors/ISensors/SharedMemInfo |
android/hardware/soundtrigger |
14 | github.com/xaionaro-go/binder/android/hardware/soundtrigger |
android/hardware/soundtrigger3 |
3 | github.com/xaionaro-go/binder/android/hardware/soundtrigger3 |
android/hardware/tests/extension/vibrator |
3 | github.com/xaionaro-go/binder/android/hardware/tests/extension/vibrator |
android/hardware/tetheroffload |
7 | github.com/xaionaro-go/binder/android/hardware/tetheroffload |
android/hardware/thermal |
9 | github.com/xaionaro-go/binder/android/hardware/thermal |
android/hardware/threadnetwork |
2 | github.com/xaionaro-go/binder/android/hardware/threadnetwork |
android/hardware/tv/hdmi/cec |
9 | github.com/xaionaro-go/binder/android/hardware/tv/hdmi/cec |
android/hardware/tv/hdmi/connection |
6 | github.com/xaionaro-go/binder/android/hardware/tv/hdmi/connection |
android/hardware/tv/hdmi/earc |
4 | github.com/xaionaro-go/binder/android/hardware/tv/hdmi/earc |
android/hardware/tv/input |
11 | github.com/xaionaro-go/binder/android/hardware/tv/input |
android/hardware/tv/mediaquality |
34 | github.com/xaionaro-go/binder/android/hardware/tv/mediaquality |
android/hardware/tv/mediaquality/DolbyAudioProcessing |
1 | github.com/xaionaro-go/binder/android/hardware/tv/mediaquality/DolbyAudioProcessing |
android/hardware/tv/tuner |
193 | github.com/xaionaro-go/binder/android/hardware/tv/tuner |
android/hardware/usb |
32 | github.com/xaionaro-go/binder/android/hardware/usb |
android/hardware/usb/AltModeData |
1 | github.com/xaionaro-go/binder/android/hardware/usb/AltModeData |
android/hardware/usb/gadget |
5 | github.com/xaionaro-go/binder/android/hardware/usb/gadget |
android/hardware/uwb |
5 | github.com/xaionaro-go/binder/android/hardware/uwb |
android/hardware/uwb/fira_android |
12 | github.com/xaionaro-go/binder/android/hardware/uwb/fira_android |
android/hardware/vibrator |
17 | github.com/xaionaro-go/binder/android/hardware/vibrator |
android/hardware/virtualization/capabilities |
1 | github.com/xaionaro-go/binder/android/hardware/virtualization/capabilities |
android/hardware/weaver |
4 | github.com/xaionaro-go/binder/android/hardware/weaver |
android/hardware/wifi |
140 | github.com/xaionaro-go/binder/android/hardware/wifi |
android/hardware/wifi/IWifiChip |
17 | github.com/xaionaro-go/binder/android/hardware/wifi/IWifiChip |
android/hardware/wifi/IWifiChipEventCallback |
2 | github.com/xaionaro-go/binder/android/hardware/wifi/IWifiChipEventCallback |
android/hardware/wifi/IWifiStaIface |
1 | github.com/xaionaro-go/binder/android/hardware/wifi/IWifiStaIface |
android/hardware/wifi/IWifiStaIfaceEventCallback |
2 | github.com/xaionaro-go/binder/android/hardware/wifi/IWifiStaIfaceEventCallback |
android/hardware/wifi/StaLinkLayerLinkStats |
1 | github.com/xaionaro-go/binder/android/hardware/wifi/StaLinkLayerLinkStats |
android/hardware/wifi/TwtSession |
1 | github.com/xaionaro-go/binder/android/hardware/wifi/TwtSession |
android/hardware/wifi/common |
2 | github.com/xaionaro-go/binder/android/hardware/wifi/common |
android/hardware/wifi/hostapd |
17 | github.com/xaionaro-go/binder/android/hardware/wifi/hostapd |
android/hardware/wifi/supplicant |
134 | github.com/xaionaro-go/binder/android/hardware/wifi/supplicant |
android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback |
1 | github.com/xaionaro-go/binder/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback |
android/hardware/wifi/supplicant/MscsParams |
1 | github.com/xaionaro-go/binder/android/hardware/wifi/supplicant/MscsParams |
android/hardware/wifi/supplicant/MsduDeliveryInfo |
1 | github.com/xaionaro-go/binder/android/hardware/wifi/supplicant/MsduDeliveryInfo |
android/hardware/wifi/supplicant/P2pDirInfo |
1 | github.com/xaionaro-go/binder/android/hardware/wifi/supplicant/P2pDirInfo |
android/hardware/wifi/supplicant/QosCharacteristics |
1 | github.com/xaionaro-go/binder/android/hardware/wifi/supplicant/QosCharacteristics |
android/hardware/wifi/supplicant/QosPolicyScsData |
1 | github.com/xaionaro-go/binder/android/hardware/wifi/supplicant/QosPolicyScsData |
android/hardware/wifi/supplicant/UsdPublishConfig |
1 | github.com/xaionaro-go/binder/android/hardware/wifi/supplicant/UsdPublishConfig |
android/hardware/wifi/supplicant/UsdSubscribeConfig |
1 | github.com/xaionaro-go/binder/android/hardware/wifi/supplicant/UsdSubscribeConfig |
android/location (2 packages)
| Package | Files | Import Path |
|---|---|---|
android/location |
72 | github.com/xaionaro-go/binder/android/location |
android/location/provider |
12 | github.com/xaionaro-go/binder/android/location/provider |
android/media (54 packages)
| Package | Files | Import Path |
|---|---|---|
android/media |
197 | github.com/xaionaro-go/binder/android/media |
android/media/AidlColorAspects |
4 | github.com/xaionaro-go/binder/android/media/AidlColorAspects |
android/media/AudioHalVersion |
1 | github.com/xaionaro-go/binder/android/media/AudioHalVersion |
android/media/IAidlNode |
1 | github.com/xaionaro-go/binder/android/media/IAidlNode |
android/media/ISoundDose |
1 | github.com/xaionaro-go/binder/android/media/ISoundDose |
android/media/LoudnessCodecInfo |
1 | github.com/xaionaro-go/binder/android/media/LoudnessCodecInfo |
android/media/SurroundSoundConfig |
1 | github.com/xaionaro-go/binder/android/media/SurroundSoundConfig |
android/media/audio |
1 | github.com/xaionaro-go/binder/android/media/audio |
android/media/audio/IHalAdapterVendorExtension |
1 | github.com/xaionaro-go/binder/android/media/audio/IHalAdapterVendorExtension |
android/media/audio/common |
69 | github.com/xaionaro-go/binder/android/media/audio/common |
android/media/audio/common/AudioHalCapCriterionV2 |
5 | github.com/xaionaro-go/binder/android/media/audio/common/AudioHalCapCriterionV2 |
android/media/audio/common/AudioHalCapParameter |
4 | github.com/xaionaro-go/binder/android/media/audio/common/AudioHalCapParameter |
android/media/audio/common/AudioHalCapRule |
3 | github.com/xaionaro-go/binder/android/media/audio/common/AudioHalCapRule |
android/media/audio/common/AudioHalEngineConfig |
1 | github.com/xaionaro-go/binder/android/media/audio/common/AudioHalEngineConfig |
android/media/audio/common/AudioHalProductStrategy |
1 | github.com/xaionaro-go/binder/android/media/audio/common/AudioHalProductStrategy |
android/media/audio/common/AudioHalVolumeCurve |
2 | github.com/xaionaro-go/binder/android/media/audio/common/AudioHalVolumeCurve |
android/media/audio/common/AudioPlaybackRate |
2 | github.com/xaionaro-go/binder/android/media/audio/common/AudioPlaybackRate |
android/media/audio/common/AudioPolicyForceUse |
4 | github.com/xaionaro-go/binder/android/media/audio/common/AudioPolicyForceUse |
android/media/audio/common/HeadTracking |
3 | github.com/xaionaro-go/binder/android/media/audio/common/HeadTracking |
android/media/audio/common/MicrophoneDynamicInfo |
1 | github.com/xaionaro-go/binder/android/media/audio/common/MicrophoneDynamicInfo |
android/media/audio/common/MicrophoneInfo |
5 | github.com/xaionaro-go/binder/android/media/audio/common/MicrophoneInfo |
android/media/audio/common/Spatialization |
2 | github.com/xaionaro-go/binder/android/media/audio/common/Spatialization |
android/media/audio/eraser |
12 | github.com/xaionaro-go/binder/android/media/audio/eraser |
android/media/audiopolicy |
6 | github.com/xaionaro-go/binder/android/media/audiopolicy |
android/media/browse |
1 | github.com/xaionaro-go/binder/android/media/browse |
android/media/metrics |
9 | github.com/xaionaro-go/binder/android/media/metrics |
android/media/midi |
8 | github.com/xaionaro-go/binder/android/media/midi |
android/media/musicrecognition |
7 | github.com/xaionaro-go/binder/android/media/musicrecognition |
android/media/permission |
1 | github.com/xaionaro-go/binder/android/media/permission |
android/media/projection |
8 | github.com/xaionaro-go/binder/android/media/projection |
android/media/quality |
14 | github.com/xaionaro-go/binder/android/media/quality |
android/media/session |
15 | github.com/xaionaro-go/binder/android/media/session |
android/media/soundtrigger |
18 | github.com/xaionaro-go/binder/android/media/soundtrigger |
android/media/soundtrigger_middleware |
11 | github.com/xaionaro-go/binder/android/media/soundtrigger_middleware |
android/media/tv |
45 | github.com/xaionaro-go/binder/android/media/tv |
android/media/tv/ad |
9 | github.com/xaionaro-go/binder/android/media/tv/ad |
android/media/tv/extension/analog |
1 | github.com/xaionaro-go/binder/android/media/tv/extension/analog |
android/media/tv/extension/cam |
19 | github.com/xaionaro-go/binder/android/media/tv/extension/cam |
android/media/tv/extension/clienttoken |
1 | github.com/xaionaro-go/binder/android/media/tv/extension/clienttoken |
android/media/tv/extension/event |
5 | github.com/xaionaro-go/binder/android/media/tv/extension/event |
android/media/tv/extension/oad |
1 | github.com/xaionaro-go/binder/android/media/tv/extension/oad |
android/media/tv/extension/pvr |
3 | github.com/xaionaro-go/binder/android/media/tv/extension/pvr |
android/media/tv/extension/rating |
8 | github.com/xaionaro-go/binder/android/media/tv/extension/rating |
android/media/tv/extension/scan |
19 | github.com/xaionaro-go/binder/android/media/tv/extension/scan |
android/media/tv/extension/scanbsu |
2 | github.com/xaionaro-go/binder/android/media/tv/extension/scanbsu |
android/media/tv/extension/screenmode |
1 | github.com/xaionaro-go/binder/android/media/tv/extension/screenmode |
android/media/tv/extension/servicedb |
11 | github.com/xaionaro-go/binder/android/media/tv/extension/servicedb |
android/media/tv/extension/signal |
9 | github.com/xaionaro-go/binder/android/media/tv/extension/signal |
android/media/tv/extension/teletext |
3 | github.com/xaionaro-go/binder/android/media/tv/extension/teletext |
android/media/tv/extension/time |
1 | github.com/xaionaro-go/binder/android/media/tv/extension/time |
android/media/tv/extension/tune |
4 | github.com/xaionaro-go/binder/android/media/tv/extension/tune |
android/media/tv/interactive |
10 | github.com/xaionaro-go/binder/android/media/tv/interactive |
android/media/tv/tuner |
12 | github.com/xaionaro-go/binder/android/media/tv/tuner |
android/media/tv/tunerresourcemanager |
12 | github.com/xaionaro-go/binder/android/media/tv/tunerresourcemanager |
android/net (5 packages)
| Package | Files | Import Path |
|---|---|---|
android/net |
33 | github.com/xaionaro-go/binder/android/net |
android/net/vcn |
6 | github.com/xaionaro-go/binder/android/net/vcn |
android/net/wifi/nl80211 |
10 | github.com/xaionaro-go/binder/android/net/wifi/nl80211 |
android/net/wifi/sharedconnectivity/app |
6 | github.com/xaionaro-go/binder/android/net/wifi/sharedconnectivity/app |
android/net/wifi/sharedconnectivity/service |
2 | github.com/xaionaro-go/binder/android/net/wifi/sharedconnectivity/service |
android/nfc (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/nfc/cardemulation |
3 | github.com/xaionaro-go/binder/android/nfc/cardemulation |
android/os (14 packages)
| Package | Files | Import Path |
|---|---|---|
android/os |
126 | github.com/xaionaro-go/binder/android/os |
android/os/ExternalVibrationScale |
1 | github.com/xaionaro-go/binder/android/os/ExternalVibrationScale |
android/os/IInstalld |
1 | github.com/xaionaro-go/binder/android/os/IInstalld |
android/os/IPowerManager |
2 | github.com/xaionaro-go/binder/android/os/IPowerManager |
android/os/StatsBootstrapAtomValue |
2 | github.com/xaionaro-go/binder/android/os/StatsBootstrapAtomValue |
android/os/StatsBootstrapAtomValue/Annotation |
2 | github.com/xaionaro-go/binder/android/os/StatsBootstrapAtomValue/Annotation |
android/os/connectivity |
4 | github.com/xaionaro-go/binder/android/os/connectivity |
android/os/health |
2 | github.com/xaionaro-go/binder/android/os/health |
android/os/image |
2 | github.com/xaionaro-go/binder/android/os/image |
android/os/incremental |
9 | github.com/xaionaro-go/binder/android/os/incremental |
android/os/instrumentation |
5 | github.com/xaionaro-go/binder/android/os/instrumentation |
android/os/logcat |
1 | github.com/xaionaro-go/binder/android/os/logcat |
android/os/storage |
10 | github.com/xaionaro-go/binder/android/os/storage |
android/os/vibrator |
9 | github.com/xaionaro-go/binder/android/os/vibrator |
android/permission (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/permission |
9 | github.com/xaionaro-go/binder/android/permission |
android/print (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/print |
20 | github.com/xaionaro-go/binder/android/print |
android/printservice (2 packages)
| Package | Files | Import Path |
|---|---|---|
android/printservice |
3 | github.com/xaionaro-go/binder/android/printservice |
android/printservice/recommendation |
4 | github.com/xaionaro-go/binder/android/printservice/recommendation |
android/se (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/se/omapi |
5 | github.com/xaionaro-go/binder/android/se/omapi |
android/security (12 packages)
| Package | Files | Import Path |
|---|---|---|
android/security |
7 | github.com/xaionaro-go/binder/android/security |
android/security/advancedprotection |
4 | github.com/xaionaro-go/binder/android/security/advancedprotection |
android/security/attestationverification |
6 | github.com/xaionaro-go/binder/android/security/attestationverification |
android/security/authenticationpolicy |
4 | github.com/xaionaro-go/binder/android/security/authenticationpolicy |
android/security/intrusiondetection |
6 | github.com/xaionaro-go/binder/android/security/intrusiondetection |
android/security/intrusiondetection/IIntrusionDetectionServiceCommandCallback |
1 | github.com/xaionaro-go/binder/android/security/intrusiondetection/IIntrusionDetectionServiceCommandCallback |
android/security/intrusiondetection/IIntrusionDetectionServiceStateCallback |
1 | github.com/xaionaro-go/binder/android/security/intrusiondetection/IIntrusionDetectionServiceStateCallback |
android/security/keymaster |
7 | github.com/xaionaro-go/binder/android/security/keymaster |
android/security/keystore |
6 | github.com/xaionaro-go/binder/android/security/keystore |
android/security/keystore/recovery |
5 | github.com/xaionaro-go/binder/android/security/keystore/recovery |
android/security/rkp |
6 | github.com/xaionaro-go/binder/android/security/rkp |
android/security/rkp/IGetKeyCallback |
1 | github.com/xaionaro-go/binder/android/security/rkp/IGetKeyCallback |
android/service (44 packages)
| Package | Files | Import Path |
|---|---|---|
android/service/ambientcontext |
3 | github.com/xaionaro-go/binder/android/service/ambientcontext |
android/service/appprediction |
1 | github.com/xaionaro-go/binder/android/service/appprediction |
android/service/assist/classification |
5 | github.com/xaionaro-go/binder/android/service/assist/classification |
android/service/attention |
3 | github.com/xaionaro-go/binder/android/service/attention |
android/service/autofill |
36 | github.com/xaionaro-go/binder/android/service/autofill |
android/service/autofill/augmented |
2 | github.com/xaionaro-go/binder/android/service/autofill/augmented |
android/service/carrier |
7 | github.com/xaionaro-go/binder/android/service/carrier |
android/service/chooser |
5 | github.com/xaionaro-go/binder/android/service/chooser |
android/service/contentcapture |
9 | github.com/xaionaro-go/binder/android/service/contentcapture |
android/service/contentsuggestions |
1 | github.com/xaionaro-go/binder/android/service/contentsuggestions |
android/service/controls |
5 | github.com/xaionaro-go/binder/android/service/controls |
android/service/controls/actions |
1 | github.com/xaionaro-go/binder/android/service/controls/actions |
android/service/controls/templates |
2 | github.com/xaionaro-go/binder/android/service/controls/templates |
android/service/credentials |
17 | github.com/xaionaro-go/binder/android/service/credentials |
android/service/displayhash |
2 | github.com/xaionaro-go/binder/android/service/displayhash |
android/service/dreams |
6 | github.com/xaionaro-go/binder/android/service/dreams |
android/service/euicc |
21 | github.com/xaionaro-go/binder/android/service/euicc |
android/service/games |
11 | github.com/xaionaro-go/binder/android/service/games |
android/service/media |
2 | github.com/xaionaro-go/binder/android/service/media |
android/service/notification |
17 | github.com/xaionaro-go/binder/android/service/notification |
android/service/oemlock |
2 | github.com/xaionaro-go/binder/android/service/oemlock |
android/service/ondeviceintelligence |
5 | github.com/xaionaro-go/binder/android/service/ondeviceintelligence |
android/service/persistentdata |
2 | github.com/xaionaro-go/binder/android/service/persistentdata |
android/service/quickaccesswallet |
9 | github.com/xaionaro-go/binder/android/service/quickaccesswallet |
android/service/quicksettings |
3 | github.com/xaionaro-go/binder/android/service/quicksettings |
android/service/remotelockscreenvalidation |
2 | github.com/xaionaro-go/binder/android/service/remotelockscreenvalidation |
android/service/resolver |
3 | github.com/xaionaro-go/binder/android/service/resolver |
android/service/resumeonreboot |
1 | github.com/xaionaro-go/binder/android/service/resumeonreboot |
android/service/rotationresolver |
3 | github.com/xaionaro-go/binder/android/service/rotationresolver |
android/service/search |
1 | github.com/xaionaro-go/binder/android/service/search |
android/service/settings/preferences |
12 | github.com/xaionaro-go/binder/android/service/settings/preferences |
android/service/settings/suggestions |
2 | github.com/xaionaro-go/binder/android/service/settings/suggestions |
android/service/smartspace |
1 | github.com/xaionaro-go/binder/android/service/smartspace |
android/service/storage |
1 | github.com/xaionaro-go/binder/android/service/storage |
android/service/textclassifier |
2 | github.com/xaionaro-go/binder/android/service/textclassifier |
android/service/timezone |
5 | github.com/xaionaro-go/binder/android/service/timezone |
android/service/translation |
2 | github.com/xaionaro-go/binder/android/service/translation |
android/service/trust |
3 | github.com/xaionaro-go/binder/android/service/trust |
android/service/voice |
18 | github.com/xaionaro-go/binder/android/service/voice |
android/service/vr |
5 | github.com/xaionaro-go/binder/android/service/vr |
android/service/wallpaper |
3 | github.com/xaionaro-go/binder/android/service/wallpaper |
android/service/wallpapereffectsgeneration |
1 | github.com/xaionaro-go/binder/android/service/wallpapereffectsgeneration |
android/service/watchdog |
2 | github.com/xaionaro-go/binder/android/service/watchdog |
android/service/wearable |
1 | github.com/xaionaro-go/binder/android/service/wearable |
android/speech (2 packages)
| Package | Files | Import Path |
|---|---|---|
android/speech |
10 | github.com/xaionaro-go/binder/android/speech |
android/speech/tts |
6 | github.com/xaionaro-go/binder/android/speech/tts |
android/system (6 packages)
| Package | Files | Import Path |
|---|---|---|
android/system/keystore2 |
15 | github.com/xaionaro-go/binder/android/system/keystore2 |
android/system/net/netd |
1 | github.com/xaionaro-go/binder/android/system/net/netd |
android/system/net/netd/INetd |
1 | github.com/xaionaro-go/binder/android/system/net/netd/INetd |
android/system/suspend |
6 | github.com/xaionaro-go/binder/android/system/suspend |
android/system/suspend/internal_ |
4 | github.com/xaionaro-go/binder/android/system/suspend/internal_ |
android/system/vold |
3 | github.com/xaionaro-go/binder/android/system/vold |
android/telecom (2 packages)
| Package | Files | Import Path |
|---|---|---|
android/telecom |
29 | github.com/xaionaro-go/binder/android/telecom |
android/telecom/Logging |
1 | github.com/xaionaro-go/binder/android/telecom/Logging |
android/telephony (14 packages)
| Package | Files | Import Path |
|---|---|---|
android/telephony |
90 | github.com/xaionaro-go/binder/android/telephony |
android/telephony/cdma |
2 | github.com/xaionaro-go/binder/android/telephony/cdma |
android/telephony/data |
20 | github.com/xaionaro-go/binder/android/telephony/data |
android/telephony/emergency |
1 | github.com/xaionaro-go/binder/android/telephony/emergency |
android/telephony/euicc |
4 | github.com/xaionaro-go/binder/android/telephony/euicc |
android/telephony/gba |
3 | github.com/xaionaro-go/binder/android/telephony/gba |
android/telephony/ims |
29 | github.com/xaionaro-go/binder/android/telephony/ims |
android/telephony/ims/aidl |
29 | github.com/xaionaro-go/binder/android/telephony/ims/aidl |
android/telephony/ims/feature |
2 | github.com/xaionaro-go/binder/android/telephony/ims/feature |
android/telephony/ims/stub |
1 | github.com/xaionaro-go/binder/android/telephony/ims/stub |
android/telephony/mbms |
13 | github.com/xaionaro-go/binder/android/telephony/mbms |
android/telephony/mbms/vendor |
3 | github.com/xaionaro-go/binder/android/telephony/mbms/vendor |
android/telephony/satellite |
26 | github.com/xaionaro-go/binder/android/telephony/satellite |
android/telephony/satellite/stub |
21 | github.com/xaionaro-go/binder/android/telephony/satellite/stub |
android/tests (2 packages)
| Package | Files | Import Path |
|---|---|---|
android/tests/binder |
1 | github.com/xaionaro-go/binder/android/tests/binder |
android/tests/enforcepermission |
2 | github.com/xaionaro-go/binder/android/tests/enforcepermission |
android/text (2 packages)
| Package | Files | Import Path |
|---|---|---|
android/text |
3 | github.com/xaionaro-go/binder/android/text |
android/text/style |
1 | github.com/xaionaro-go/binder/android/text/style |
android/tracing (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/tracing |
2 | github.com/xaionaro-go/binder/android/tracing |
android/util (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/util |
5 | github.com/xaionaro-go/binder/android/util |
android/view (10 packages)
| Package | Files | Import Path |
|---|---|---|
android/view |
83 | github.com/xaionaro-go/binder/android/view |
android/view/accessibility |
16 | github.com/xaionaro-go/binder/android/view/accessibility |
android/view/accessibility/IAccessibilityManager |
1 | github.com/xaionaro-go/binder/android/view/accessibility/IAccessibilityManager |
android/view/autofill |
8 | github.com/xaionaro-go/binder/android/view/autofill |
android/view/contentcapture |
12 | github.com/xaionaro-go/binder/android/view/contentcapture |
android/view/displayhash |
2 | github.com/xaionaro-go/binder/android/view/displayhash |
android/view/inputmethod |
32 | github.com/xaionaro-go/binder/android/view/inputmethod |
android/view/textclassifier |
18 | github.com/xaionaro-go/binder/android/view/textclassifier |
android/view/textservice |
5 | github.com/xaionaro-go/binder/android/view/textservice |
android/view/translation |
14 | github.com/xaionaro-go/binder/android/view/translation |
android/webkit (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/webkit |
3 | github.com/xaionaro-go/binder/android/webkit |
android/widget (2 packages)
| Package | Files | Import Path |
|---|---|---|
android/widget |
3 | github.com/xaionaro-go/binder/android/widget |
android/widget/inline |
1 | github.com/xaionaro-go/binder/android/widget/inline |
android/window (1 packages)
| Package | Files | Import Path |
|---|---|---|
android/window |
68 | github.com/xaionaro-go/binder/android/window |
com/android (77 packages)
| Package | Files | Import Path |
|---|---|---|
com/android/codegentest |
3 | github.com/xaionaro-go/binder/com/android/codegentest |
com/android/frameworks/coretests/aidl |
12 | github.com/xaionaro-go/binder/com/android/frameworks/coretests/aidl |
com/android/frameworks/perftests/am/util |
2 | github.com/xaionaro-go/binder/com/android/frameworks/perftests/am/util |
com/android/ims |
3 | github.com/xaionaro-go/binder/com/android/ims |
com/android/ims/internal_ |
19 | github.com/xaionaro-go/binder/com/android/ims/internal_ |
com/android/ims/internal_/uce/common |
3 | github.com/xaionaro-go/binder/com/android/ims/internal_/uce/common |
com/android/ims/internal_/uce/options |
6 | github.com/xaionaro-go/binder/com/android/ims/internal_/uce/options |
com/android/ims/internal_/uce/presence |
13 | github.com/xaionaro-go/binder/com/android/ims/internal_/uce/presence |
com/android/ims/internal_/uce/uceservice |
2 | github.com/xaionaro-go/binder/com/android/ims/internal_/uce/uceservice |
com/android/internal_/app |
24 | github.com/xaionaro-go/binder/com/android/internal_/app |
com/android/internal_/app/procstats |
2 | github.com/xaionaro-go/binder/com/android/internal_/app/procstats |
com/android/internal_/appwidget |
2 | github.com/xaionaro-go/binder/com/android/internal_/appwidget |
com/android/internal_/backup |
3 | github.com/xaionaro-go/binder/com/android/internal_/backup |
com/android/internal_/compat |
10 | github.com/xaionaro-go/binder/com/android/internal_/compat |
com/android/internal_/content |
1 | github.com/xaionaro-go/binder/com/android/internal_/content |
com/android/internal_/graphics/fonts |
1 | github.com/xaionaro-go/binder/com/android/internal_/graphics/fonts |
com/android/internal_/infra |
2 | github.com/xaionaro-go/binder/com/android/internal_/infra |
com/android/internal_/inputmethod |
20 | github.com/xaionaro-go/binder/com/android/internal_/inputmethod |
com/android/internal_/inputmethod/IInputMethod |
2 | github.com/xaionaro-go/binder/com/android/internal_/inputmethod/IInputMethod |
com/android/internal_/logging |
1 | github.com/xaionaro-go/binder/com/android/internal_/logging |
com/android/internal_/net |
6 | github.com/xaionaro-go/binder/com/android/internal_/net |
com/android/internal_/os |
6 | github.com/xaionaro-go/binder/com/android/internal_/os |
com/android/internal_/os/IBinaryTransparencyService |
2 | github.com/xaionaro-go/binder/com/android/internal_/os/IBinaryTransparencyService |
com/android/internal_/policy |
8 | github.com/xaionaro-go/binder/com/android/internal_/policy |
com/android/internal_/protolog |
2 | github.com/xaionaro-go/binder/com/android/internal_/protolog |
com/android/internal_/protolog/IProtoLogConfigurationService |
1 | github.com/xaionaro-go/binder/com/android/internal_/protolog/IProtoLogConfigurationService |
com/android/internal_/statusbar |
11 | github.com/xaionaro-go/binder/com/android/internal_/statusbar |
com/android/internal_/telecom |
23 | github.com/xaionaro-go/binder/com/android/internal_/telecom |
com/android/internal_/telephony |
35 | github.com/xaionaro-go/binder/com/android/internal_/telephony |
com/android/internal_/telephony/euicc |
24 | github.com/xaionaro-go/binder/com/android/internal_/telephony/euicc |
com/android/internal_/textservice |
6 | github.com/xaionaro-go/binder/com/android/internal_/textservice |
com/android/internal_/util |
1 | github.com/xaionaro-go/binder/com/android/internal_/util |
com/android/internal_/view |
3 | github.com/xaionaro-go/binder/com/android/internal_/view |
com/android/internal_/view/inline |
2 | github.com/xaionaro-go/binder/com/android/internal_/view/inline |
com/android/internal_/widget |
7 | github.com/xaionaro-go/binder/com/android/internal_/widget |
com/android/media/permission |
3 | github.com/xaionaro-go/binder/com/android/media/permission |
com/android/net |
3 | github.com/xaionaro-go/binder/com/android/net |
com/android/onemedia |
2 | github.com/xaionaro-go/binder/com/android/onemedia |
com/android/onemedia/playback |
1 | github.com/xaionaro-go/binder/com/android/onemedia/playback |
com/android/printspooler/renderer |
2 | github.com/xaionaro-go/binder/com/android/printspooler/renderer |
com/android/server/inputflinger |
7 | github.com/xaionaro-go/binder/com/android/server/inputflinger |
com/android/server/inputflinger/IInputFilter |
1 | github.com/xaionaro-go/binder/com/android/server/inputflinger/IInputFilter |
com/android/server/inputflinger/IInputFlingerRust |
1 | github.com/xaionaro-go/binder/com/android/server/inputflinger/IInputFlingerRust |
com/android/server/inputflinger/IInputThread |
1 | github.com/xaionaro-go/binder/com/android/server/inputflinger/IInputThread |
com/android/server/power/stats |
1 | github.com/xaionaro-go/binder/com/android/server/power/stats |
com/android/settingslib/bluetooth/devicesettings |
10 | github.com/xaionaro-go/binder/com/android/settingslib/bluetooth/devicesettings |
com/android/smspush/unitTests |
1 | github.com/xaionaro-go/binder/com/android/smspush/unitTests |
com/android/systemui/animation/shared |
1 | github.com/xaionaro-go/binder/com/android/systemui/animation/shared |
com/android/systemui/assist |
1 | github.com/xaionaro-go/binder/com/android/systemui/assist |
com/android/systemui/communal/shared/model |
1 | github.com/xaionaro-go/binder/com/android/systemui/communal/shared/model |
com/android/systemui/communal/widgets |
1 | github.com/xaionaro-go/binder/com/android/systemui/communal/widgets |
com/android/systemui/communal/widgets/IGlanceableHubWidgetManagerService |
3 | github.com/xaionaro-go/binder/com/android/systemui/communal/widgets/IGlanceableHubWidgetManagerService |
com/android/systemui/communal/widgets/IGlanceableHubWidgetManagerService/IConfigureWidgetCallback |
1 | github.com/xaionaro-go/binder/com/android/systemui/communal/widgets/IGlanceableHubWidgetManagerService/IConfigureWidgetCallback |
com/android/systemui/dreams/homecontrols/shared |
2 | github.com/xaionaro-go/binder/com/android/systemui/dreams/homecontrols/shared |
com/android/systemui/notetask |
2 | github.com/xaionaro-go/binder/com/android/systemui/notetask |
com/android/systemui/screenshot |
1 | github.com/xaionaro-go/binder/com/android/systemui/screenshot |
com/android/systemui/screenshot/appclips |
2 | github.com/xaionaro-go/binder/com/android/systemui/screenshot/appclips |
com/android/systemui/screenshot/proxy |
2 | github.com/xaionaro-go/binder/com/android/systemui/screenshot/proxy |
com/android/systemui/shared/recents |
2 | github.com/xaionaro-go/binder/com/android/systemui/shared/recents |
com/android/systemui/shared/recents/model |
1 | github.com/xaionaro-go/binder/com/android/systemui/shared/recents/model |
com/android/systemui/shared/system/smartspace |
3 | github.com/xaionaro-go/binder/com/android/systemui/shared/system/smartspace |
com/android/systemui/unfold/progress |
2 | github.com/xaionaro-go/binder/com/android/systemui/unfold/progress |
com/android/systemui/wallet/controller |
2 | github.com/xaionaro-go/binder/com/android/systemui/wallet/controller |
com/android/test/binder |
2 | github.com/xaionaro-go/binder/com/android/test/binder |
com/android/test/viewembed |
2 | github.com/xaionaro-go/binder/com/android/test/viewembed |
com/android/wm/shell/back |
1 | github.com/xaionaro-go/binder/com/android/wm/shell/back |
com/android/wm/shell/bubbles |
2 | github.com/xaionaro-go/binder/com/android/wm/shell/bubbles |
com/android/wm/shell/common/pip |
2 | github.com/xaionaro-go/binder/com/android/wm/shell/common/pip |
com/android/wm/shell/desktopmode |
2 | github.com/xaionaro-go/binder/com/android/wm/shell/desktopmode |
com/android/wm/shell/draganddrop |
1 | github.com/xaionaro-go/binder/com/android/wm/shell/draganddrop |
com/android/wm/shell/onehanded |
1 | github.com/xaionaro-go/binder/com/android/wm/shell/onehanded |
com/android/wm/shell/recents |
4 | github.com/xaionaro-go/binder/com/android/wm/shell/recents |
com/android/wm/shell/shared |
4 | github.com/xaionaro-go/binder/com/android/wm/shell/shared |
com/android/wm/shell/shared/bubbles |
1 | github.com/xaionaro-go/binder/com/android/wm/shell/shared/bubbles |
com/android/wm/shell/shared/desktopmode |
1 | github.com/xaionaro-go/binder/com/android/wm/shell/shared/desktopmode |
com/android/wm/shell/splitscreen |
3 | github.com/xaionaro-go/binder/com/android/wm/shell/splitscreen |
com/android/wm/shell/startingsurface |
2 | github.com/xaionaro-go/binder/com/android/wm/shell/startingsurface |
com/google (1 packages)
| Package | Files | Import Path |
|---|---|---|
com/google/android/lint/integration_tests |
1 | github.com/xaionaro-go/binder/com/google/android/lint/integration_tests |
fuzztest (1 packages)
| Package | Files | Import Path |
|---|---|---|
fuzztest |
1 | github.com/xaionaro-go/binder/fuzztest |
libgui_test_server (1 packages)
| Package | Files | Import Path |
|---|---|---|
libgui_test_server |
1 | github.com/xaionaro-go/binder/libgui_test_server |
parcelables (1 packages)
| Package | Files | Import Path |
|---|---|---|
parcelables |
3 | github.com/xaionaro-go/binder/parcelables |
parcelables/GenericDataParcelable (1 packages)
| Package | Files | Import Path |
|---|---|---|
parcelables/GenericDataParcelable |
1 | github.com/xaionaro-go/binder/parcelables/GenericDataParcelable |
src/com (1 packages)
| Package | Files | Import Path |
|---|---|---|
src/com/android/commands/uinput |
1 | github.com/xaionaro-go/binder/src/com/android/commands/uinput |
| Description | |
|---|---|
tools/cmd/aidlgen |
AIDL-to-Go compiler: reads search paths + AIDL files, generates Go code |
tools/cmd/aospgen |
Bulk generator: discovers all AIDL files in AOSP submodules, generates everything |
tools/cmd/gen_e2e_smoke |
Generates smoke tests exercising every proxy type in generated packages |
tools/cmd/genreadme |
Regenerates the package table in this README from generated packages |
bindercli is a unified command-line tool for interacting with Android Binder services and the AIDL compiler. It auto-generates subcommands for every AIDL interface in the project (1,500+ interfaces, 12,000+ methods), so you can call any Android system service method directly from the command line with typed flags.
Build and deploy:
GOOS=linux GOARCH=arm64 go build -o build/bindercli ./cmd/bindercli/
adb push build/bindercli /data/local/tmp/Core subcommands:
| Command | Description |
|---|---|
bindercli service list |
List all registered binder services with alive/dead status |
bindercli service inspect <name> |
Show a service's handle, descriptor, and alive status |
bindercli service methods <name> |
List all methods available on a service |
bindercli service transact <name> <code> [hex] |
Send a raw binder transaction |
bindercli aidl compile [-I path] <files> |
Compile .aidl files to Go |
bindercli aidl parse <file> |
Dump parsed AIDL AST as JSON |
bindercli aidl check <files> |
Validate AIDL files without generating |
bindercli <descriptor> <method> [--flags] |
Call any AIDL method with typed parameters |
Global flags: --format json|text|auto, --binder-device, --map-size.
Note: Generated proxy commands use transaction codes compiled from the AIDL snapshot in
tools/pkg/3rdparty/. If the device runs a different Android version, some proxy methods may return parse errors due to transaction code mismatches. Theservicesubcommands and ServiceManager-level lookups work across all versions.
List and inspect services
# List all registered binder services with alive/dead status
bindercli service list
# Inspect a specific service (show handle, descriptor, alive status)
bindercli service inspect SurfaceFlinger
# List methods available on a service (from generated registry)
bindercli service methods activity
# Send a raw binder transaction (service name, transaction code, optional hex data)
bindercli service transact SurfaceFlinger 64Get GPS coordinates
# List all location providers
bindercli android.location.ILocationManager get-all-providers
# Example output: {"result":["passive","network","fused","gps_hardware","gps"]}
# Check if GPS provider is enabled
bindercli android.location.ILocationManager is-provider-enabled-for-user \
--provider gps --userId 0
# Get GNSS hardware info
bindercli android.location.ILocationManager get-gnss-hardware-model-name
# Example output: {"result":"S.LSI,K041,SPOTNAV_4.15.4_9_250930_R1_291847"}
bindercli android.location.ILocationManager get-gnss-year-of-hardware
# Example output: {"result":2023}
# Get last known GPS location (returns Location parcelable with lat/lon/alt)
bindercli android.location.ILocationManager get-last-location \
--provider gps \
--packageName com.android.shell \
--attributionTag ""Connect to a WiFi AP with SSID "MyNetwork" and PSK "secret123"
# Step 1: Add a new network via the supplicant
bindercli android.hardware.wifi.supplicant.ISupplicantStaIface add-network
# Step 2: Set the SSID (pass as hex-encoded bytes; "MyNetwork" = 4d794e6574776f726b)
bindercli android.hardware.wifi.supplicant.ISupplicantStaNetwork set-ssid \
--ssid 4d794e6574776f726b
# Step 3: Set the WPA passphrase
bindercli android.hardware.wifi.supplicant.ISupplicantStaNetwork set-psk-passphrase \
--psk secret123
# Step 4: Set key management to WPA-PSK (bit 1 = 0x02)
bindercli android.hardware.wifi.supplicant.ISupplicantStaNetwork set-key-mgmt \
--keyMgmtMask 2
# Step 5: Enable the network to trigger connection
bindercli android.hardware.wifi.supplicant.ISupplicantStaNetwork enable \
--noConnect false
# Disconnect from current network
bindercli android.hardware.wifi.supplicant.ISupplicantStaIface disconnect
# List saved networks
bindercli android.hardware.wifi.supplicant.ISupplicantStaIface list-networksTake a picture from the camera
# List available camera devices
bindercli android.hardware.camera.provider.ICameraProvider get-camera-id-list
# Get camera characteristics (resolution, capabilities, etc.)
bindercli android.hardware.camera.device.ICameraDevice get-camera-characteristics
# Toggle flashlight/torch mode
bindercli android.hardware.camera.provider.ICameraProvider set-torch-mode \
--cameraDeviceName "0" --enabled trueNote: Full camera capture requires a callback-driven session flow (open -> configure streams -> capture request -> receive frames). The individual steps are available as commands, but the session orchestration needs a script or the Go API directly.
Record from microphone
# Get active microphones on an input stream
bindercli android.hardware.audio.core.IStreamIn get-active-microphones
# Set microphone field dimension (for directional recording)
bindercli android.hardware.audio.core.IStreamIn set-microphone-field-dimension \
--zoom 1.0
# Set microphone direction
# 0=UNSPECIFIED, 1=FRONT, 2=BACK, 3=EXTERNAL
bindercli android.hardware.audio.core.IStreamIn set-microphone-direction \
--direction 1Note: Actual audio capture requires opening an input stream via IModule.openInputStream() with an audio configuration, then reading PCM data from the returned stream handle. Use the Go API for the full recording flow.
Query battery, power, and thermal status
# Get current thermal status (0=none, 1=light, 2=moderate, ...)
bindercli android.os.IThermalService get-current-thermal-status
# Example output: {"result":0}
# Check if device is in power save mode
bindercli android.os.IPowerManager is-power-save-mode
# Example output: {"result":false}
# Check if device is interactive (screen on)
bindercli android.os.IPowerManager is-interactive
# Reboot the device
bindercli android.os.IPowerManager reboot \
--confirm false --reason "cli-reboot" --wait trueQuery packages and app info
# Check if a package is installed
bindercli android.content.pm.IPackageManager is-package-available \
--packageName com.android.settings --userId 0
# Example output: {"result":true}
# Check a permission
bindercli android.content.pm.IPackageManager check-permission \
--permName android.permission.INTERNET \
--pkgName com.android.settings --userId 0
# Get the installer of a package
bindercli android.content.pm.IPackageManager get-installer-package-name \
--packageName com.android.chromeDisplay info
# Get display IDs
bindercli android.hardware.display.IDisplayManager get-display-ids \
--includeDisabled false
# Example output: {"result":[0]}Clipboard operations
# Check if clipboard has text
bindercli android.content.IClipboard has-clipboard-text \
--callingPackage com.android.shell \
--attributionTag "" --userId 0 --deviceId 0
# Example output: {"result":false}Bluetooth operations
# Initialize Bluetooth HCI
bindercli android.hardware.bluetooth.IBluetoothHci initialize \
--callback <callback_service>
# Send raw HCI command (hex bytes)
bindercli android.hardware.bluetooth.IBluetoothHci send-hci-command \
--command 01030c00
# Close Bluetooth HCI
bindercli android.hardware.bluetooth.IBluetoothHci closeActivityManager queries
# Check if user is a monkey (automated test)
bindercli android.app.IActivityManager is-user-a-monkey
# Get process memory limit
bindercli android.app.IActivityManager get-process-limit
# Check a permission for a process
bindercli android.app.IActivityManager check-permission \
--permission android.permission.INTERNET --pid 1 --uid 0
# Force stop a package
bindercli android.app.IActivityManager force-stop-package \
--packageName com.example.app --userId 0
# Check if app freezer is supported
bindercli android.app.IActivityManager is-app-freezer-supportedTelephony
# Get active phone type (0=NONE, 1=GSM, 2=CDMA)
bindercli com.android.internal.telephony.ITelephony get-active-phone-type
# Get network country ISO
bindercli com.android.internal.telephony.ITelephony get-network-country-iso-for-phone \
--phoneId 0Commands are tested against the following devices. The runtime uses version-aware transaction code resolution (binder/versionaware) with tables for API 34, 35, and 36. "SM" = ServiceManager-level lookup, "Proxy" = generated proxy method with version-aware code resolution.
Verification matrix
| Command | Type | Pixel 8a (API 36) | Emulator (API 35) |
|---|---|---|---|
service list |
SM | PASS | PASS |
service inspect |
SM | PASS | PASS |
location get-all-providers |
Proxy | PASS | PASS |
location is-provider-enabled-for-user |
Proxy | PASS | PASS |
location get-gnss-hardware-model-name |
Proxy | PASS | PASS |
location get-gnss-year-of-hardware |
Proxy | PASS | PASS |
thermal get-current-thermal-status |
Proxy | PASS | PASS |
power is-power-save-mode |
Proxy | PASS | PASS |
power is-interactive |
Proxy | PASS | PASS |
pm is-package-available |
Proxy | PASS | PASS |
display get-display-ids |
Proxy | PASS | PASS |
clipboard has-clipboard-text |
Proxy | PASS | PASS |
am check-permission |
Proxy | PASS | PASS |
am is-user-a-monkey |
Proxy | FLAKY* | PASS |
am get-process-limit |
Proxy | FLAKY* | PASS |
* Some IActivityManager methods return empty replies intermittently on the Pixel 8a, likely due to the device's firmware AIDL revision having additional methods beyond the android-16.0.0_r1 snapshot. The transaction code offset may be off by 1-2 for some methods.
The project has two major parts: a compiler that turns .aidl files into Go source code, and a runtime that implements the Binder IPC protocol for communicating with Android services.
flowchart TD
AIDL[".aidl files"]
AOSP["AOSP tools/pkg/3rdparty/"]
subgraph COMPILER["Compiler Pipeline"]
direction TB
LEX["Lexer<br/><i>tokenizes AIDL syntax</i>"]
PARSE["Parser<br/><i>recursive-descent → AST</i>"]
RESOLVE["Resolver<br/><i>import resolution + type registry</i>"]
GRAPH["Import Graph<br/><i>SCC-based cycle detection</i>"]
GEN["Code Generator"]
end
subgraph GENOUT["Generated Output"]
direction LR
PROXY["Interface → Proxy struct<br/>+ transaction methods"]
PARCEL_GEN["Parcelable → Go struct<br/>+ Marshal/Unmarshal"]
ENUM["Enum → typed constants"]
UNION["Union → tagged variant"]
end
subgraph RUNTIME["Binder Runtime"]
direction TB
KBIND["kernelbinder<br/><i>/dev/binder ioctl</i>"]
PARCELF["parcel<br/><i>wire format serialization</i>"]
BIND["binder<br/><i>IBinder + Transact</i>"]
SM["servicemanager<br/><i>GetService / ListServices</i>"]
end
ANDROID["Android System Services<br/><i>ActivityManager, SurfaceFlinger, ...</i>"]
AIDL --> LEX
AOSP --> LEX
LEX --> PARSE
PARSE --> RESOLVE
RESOLVE --> GRAPH
GRAPH --> GEN
GEN --> GENOUT
PROXY --> BIND
BIND --> PARCELF
BIND --> KBIND
SM --> BIND
KBIND --> ANDROID
style AIDL fill:#fff3cd,color:#000
style AOSP fill:#fff3cd,color:#000
style COMPILER fill:#e8eaf6,color:#000
style GENOUT fill:#d4edda,color:#000
style RUNTIME fill:#cce5ff,color:#000
style ANDROID fill:#e0e0e0,color:#000
The compiler transforms AIDL source files into Go code through four stages:
flowchart LR
subgraph S1["1. Lex"]
L1["Keywords, identifiers,<br/>operators, literals"]
end
subgraph S2["2. Parse"]
P1["Document AST:<br/>interfaces, parcelables,<br/>enums, unions, constants"]
end
subgraph S3["3. Resolve"]
R1["Transitive imports<br/>Type registry<br/>Circular import detection"]
end
subgraph S4["4. Generate"]
G1["Go source files:<br/>proxies, structs,<br/>marshal/unmarshal"]
end
S1 --> S2 --> S3 --> S4
Stage 1 — Lexer (tools/pkg/parser/lexer.go): Tokenizes AIDL source into keywords (interface, parcelable, oneway, ...), identifiers, operators, and literals. Handles >> splitting for nested generics like List<List<String>>.
Stage 2 — Parser (tools/pkg/parser/parser.go): Recursive-descent parser builds a typed AST. Supports the full AIDL grammar: interfaces with methods and transaction codes, parcelables with typed fields and defaults, enums with explicit or implicit values, unions, nested types, generics (List<T>, Map<K,V>), annotations (@nullable, @Backing, @utf8InCpp), and constant expressions with arithmetic/bitwise operators.
Stage 3 — Resolver (tools/pkg/resolver/resolver.go): Given search paths (-I flags), resolves AIDL imports transitively. Converts qualified names like android.os.IServiceManager to file paths, parses each imported file, and registers all definitions in a shared TypeRegistry. Detects circular imports. Supports skip-unresolved mode for bulk AOSP processing where some imports reference unavailable files.
Stage 4 — Code Generator (tools/pkg/codegen/): Produces Go source for each AIDL definition:
| AIDL Type | Generated Go Code |
|---|---|
| Interface | Go interface + proxy struct with Transact()-based methods, descriptor constant, transaction code constants |
| Parcelable | Go struct with MarshalParcel(*parcel.Parcel) error and UnmarshalParcel(*parcel.Parcel) error |
| Enum | Type alias on backing type (int32, int64, byte) + typed const block |
| Union | Struct with tag field + typed variant accessors |
The code generator includes an import graph (tools/pkg/codegen/import_graph.go) that computes strongly-connected components (Tarjan's SCC algorithm) to detect and break import cycles between generated packages.
The runtime implements the Android Binder IPC protocol in pure Go:
flowchart TD
subgraph APP["Your Go Application"]
PROXY2["ActivityManagerProxy.GetProcessLimit(ctx)"]
end
subgraph MARSHAL["parcel"]
M1["WriteInterfaceToken(descriptor)"]
M2["WriteInt32 / WriteString16 / ..."]
M3["ReadInt32 / ReadString16 / ..."]
end
subgraph BINDER["binder"]
B1["IBinder.Transact(ctx, code, flags, data)"]
B2["ReadStatus(reply) → check AIDL exceptions"]
end
subgraph KERNEL["kernelbinder"]
K1["open(/dev/binder)"]
K2["mmap(1MB read buffer)"]
K3["ioctl(BINDER_WRITE_READ)"]
end
PROXY2 --> M1
M1 --> M2
M2 --> B1
B1 --> K3
K3 -->|reply| B2
B2 --> M3
M3 -->|typed result| PROXY2
kernelbinder.Driver: Opens /dev/binder, verifies the protocol version via ioctl, memory-maps the kernel buffer, and implements Transact() as a write-read ioctl. Handles transaction replies, error codes, and death notifications.
parcel.Parcel: 4-byte aligned, little-endian byte buffer implementing the Binder wire format. Writes/reads all AIDL primitive types (int32, int64, float, double, bool, byte, String as UTF-16), arrays, binder handles (flat_binder_object), and file descriptors.
binder.ProxyBinder: Client-side handle wrapping a kernel binder reference. Provides Transact(), IsAlive() (ping), and death notification registration (LinkToDeath/UnlinkToDeath).
servicemanager: Client for Android's ServiceManager, the registry of all system services. Implements GetService(), CheckService(), ListServices(), and AddService() as typed binder transactions.
For an AIDL interface like:
// android/app/IActivityManager.aidl
package android.app;
interface IActivityManager {
int getProcessLimit();
int checkPermission(in String permission, int pid, int uid);
boolean isUserAMonkey();
// ... 200+ more methods
}The compiler generates:
package app
const DescriptorIActivityManager = "android.app.IActivityManager"
const (
TransactionIActivityManagerGetProcessLimit = binder.FirstCallTransaction + 52
TransactionIActivityManagerCheckPermission = binder.FirstCallTransaction + 8
// ...
)
type IActivityManager interface {
GetProcessLimit(ctx context.Context) (int32, error)
CheckPermission(ctx context.Context, permission string, pid int32, uid int32) (int32, error)
IsUserAMonkey(ctx context.Context) (bool, error)
// ...
}
type ActivityManagerProxy struct {
remote binder.IBinder
}
func NewActivityManagerProxy(remote binder.IBinder) *ActivityManagerProxy {
return &ActivityManagerProxy{remote: remote}
}
func (p *ActivityManagerProxy) GetProcessLimit(ctx context.Context) (int32, error) {
var _result int32
_data := parcel.New()
_data.WriteInterfaceToken(DescriptorIActivityManager)
_reply, _err := p.remote.Transact(ctx, TransactionIActivityManagerGetProcessLimit, 0, _data)
if _err != nil {
return _result, _err
}
defer _reply.Recycle()
if _err = binder.ReadStatus(_reply); _err != nil {
return _result, _err
}
_result, _err = _reply.ReadInt32()
if _err != nil {
return _result, _err
}
return _result, nil
}| Construct | Example | Generated Go |
|---|---|---|
| Interface methods | String getName(); |
Proxy method with marshal/unmarshal |
oneway methods |
oneway void fire(in String msg); |
Fire-and-forget (no reply parcel) |
| Parcelable fields | int id; String name; |
Struct + MarshalParcel/UnmarshalParcel |
| Enums | @Backing(type="int") enum Status { OK, FAIL } |
type Status int32 + typed constants |
| Unions | union Result { int value; String error; } |
Struct with tag + variant accessors |
| Generics | List<String>, Map<String, int> |
[]string, map[string]int32 |
| Nullable types | @nullable String desc; |
*string |
| Constants | const int VERSION = 1; |
Package-level const |
| Nested types | Parcelable inside interface | Separate file, qualified name |
| In/out/inout | void read(out byte[] buf); |
Bidirectional parcel marshaling |
| Annotations | @nullable, @utf8InCpp, @Backing |
Affects type mapping and codegen |
go run ./tools/cmd/aidlgen -I path/to/search/root -output . file1.aidl file2.aidlWith the AOSP submodules in tools/pkg/3rdparty/:
git submodule update --init --depth 1
go run ./tools/cmd/aospgen -3rdparty tools/pkg/3rdparty -output . -smoke-testsThis discovers all AIDL files across frameworks-base, frameworks-native, hardware-interfaces, and system-hardware-interfaces, infers search roots from package declarations, and generates Go proxies for all AOSP services. The current AOSP snapshot produces 5,490 Go files across 666 packages.
Each binder method has a numeric transaction code that can differ between Android versions. The generated proxies call ResolveCode() at runtime to get the correct code for the device, using a three-layer detection strategy:
-
DEX bytecode extraction (primary) — scans
/system/framework/*.jar, parses DEX bytecode, and readsTRANSACTION_*constants from$Stubclasses. This gives definitive codes for the exact firmware running on the device. This method is expected to work on all Android devices. If it fails on your platform, please open an issue. -
Compiled version tables + ELF filtering (fallback) — pre-compiled tables from multiple AOSP revision tags, narrowed by API level (from ELF
.note.android.ident) and exported symbols inlibbinder.so. -
Live transaction probing (last resort) — sends a test transaction (
isUserAMonkey()on ActivityManager) with each candidate code and picks the one that returns a valid response.
Methods 2 and 3 exist only for extra reliability in edge cases (e.g. no read access to /system/framework/). The genversions tool builds the version tables by checking out AOSP revision tags and recording method→code mappings.
The project is verified at four levels:
The compiler packages (parser, codegen, resolver, binder, parcel, typesys) and tools/pkg/testutil have unit tests that run without any Android device or special environment:
go test ./tools/pkg/... ./binder/ ./parcel/These test:
- Parser correctness: Lexing/parsing of all AIDL constructs against testdata fixtures (interfaces, parcelables, enums, unions, generics, constants, annotations)
- Code generation: Each generator (
GenerateInterface,GenerateParcelable,GenerateEnum,GenerateUnion) is tested by parsing AIDL input, generating Go, and verifying the output is validgofmt-compliant Go source that contains expected identifiers (descriptors, transaction codes, type names, method signatures) - Import cycle detection: Verifies the SCC algorithm correctly identifies and breaks cross-package import cycles
- Marshal/unmarshal naming: Maps from AIDL types to parcel read/write expressions
- Parcel serialization: Round-trip encoding/decoding of all primitive types
- Binder status: Exception code marshaling
Tests that code generation succeeds for the entire AOSP AIDL surface (requires tools/pkg/3rdparty/ submodules):
go test -tags aosp_codegen -v -run TestCodegenAllAOSP ./tools/pkg/codegen/Walks all ~12,000 AIDL files, parses each, generates Go code, and verifies the output parses as valid Go. Reports per-file success/failure statistics.
Auto-generated tests that instantiate every proxy type with a mock binder and call every method with zero-value arguments:
go run ./tools/gen_e2e_smoke
go test -tags e2e ./tests/e2e/... # requires /dev/binder OR mock modeFull integration tests that open /dev/binder and transact with real Android system services:
# Run on Android device or emulator
go test -tags e2e -v ./tests/e2e/...These verify:
- ServiceManager:
ListServices,GetService,CheckService, service handle aliveness - Typed transactions: Call
ActivityManager.GetProcessLimit(),SurfaceFlinger.GetPhysicalDisplayIds(), etc. and validate returned types - Exception handling: AIDL security exceptions, status codes
- Parcelable round-trip: Real service data deserialized through generated
UnmarshalParcel - Concurrency: Multiple goroutines with isolated binder drivers
- Death notifications: Registration/unregistration lifecycle
- Oneway transactions: Fire-and-forget calls
- Error handling: Invalid handles, dead processes
Unit tests run automatically on every push and pull request via GitHub Actions. E2E tests require an Android device and must be run manually.
A weekly workflow checks for new AOSP revision tags, regenerates version tables and proxy code, and opens a PR automatically if anything changed.
.
├── tools/
│ ├── cmd/
│ │ ├── aidlgen/ AIDL-to-Go compiler CLI
│ │ ├── aospgen/ Bulk AOSP code generator
│ │ ├── gen_e2e_smoke/ Smoke test generator
│ │ ├── genbindercli/ bindercli command dispatcher generator
│ │ ├── genreadme/ README package table generator
│ │ └── genversions/ Version-aware transaction code table generator
│ └── pkg/
│ └── aidlc/ AIDL processing pipeline
│ ├── parser/ Lexer + recursive-descent AIDL parser
│ ├── resolver/ Import resolution and type registry
│ ├── codegen/ Go code generator
│ │ ├── codegen.go GenerateAll orchestration, validation, import graph
│ │ ├── interface_gen.go Interface → proxy struct + methods
│ │ ├── parcelable_gen.go Parcelable → struct + Marshal/Unmarshal
│ │ ├── enum_gen.go Enum → typed constants
│ │ ├── marshal.go AIDL type → parcel read/write expressions
│ │ └── import_graph.go SCC-based import cycle detection
│ ├── validate/ Semantic validation (types, directions, oneway)
│ ├── testutil/ Mock binder, reflection-based smoke testing
│ ├── e2e/ End-to-end tests (requires /dev/binder)
│ └── 3rdparty/ AOSP submodules (frameworks-base, frameworks-native, ...)
├── binder/ Binder IPC abstractions
│ ├── ibinder.go IBinder interface
│ ├── proxy_binder.go Client-side proxy: Transact, IsAlive, LinkToDeath
│ └── status.go AIDL exception reading/writing
├── parcel/ Wire format serialization
│ └── parcel.go 4-byte aligned little-endian buffer
├── kernelbinder/ /dev/binder kernel driver interface
│ └── driver.go Open, mmap, ioctl BINDER_WRITE_READ
├── servicemanager/ ServiceManager client
├── errors/ AIDL exception types (ExceptionCode, StatusError)
├── android/ Pre-generated AOSP service proxies (5,490 files)
│ ├── app/ ActivityManager, AlarmManager, ...
│ ├── os/ ServiceManager, PowerManager, ...
│ ├── hardware/ HAL interfaces
│ └── ... 666 packages total
├── com/ AOSP com.android.* service proxies
├── examples/ 12 runnable examples
└── .github/workflows/ CI configuration