You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: update README with current service counts, tools, and test results
- Update service count from 31 to 34, RPC count from ~2000 to 4000+
- Update Pixel 8a test results: 65 tests passed (2026-03-22)
- Add all code generator tools to Components section
- Add Code Generation section documenting the make generate pipeline
**Available services** include camera, location, bluetooth, WiFi, telephony, battery, power, alarm, vibrator, audio, NFC, notifications, and more (31 services total, ~2000 RPCs). Callback-based APIs (like Camera2) work through a bidirectional streaming proxy with build-time generated adapter classes.
71
+
**Available services** include camera, location, bluetooth, WiFi, telephony, battery, power, alarm, vibrator, audio, NFC, notifications, and more (34 registered services, 4000+ RPCs across 64 proto packages). Callback-based APIs (like Camera2) work through a bidirectional streaming proxy with build-time generated adapter classes.
69
72
70
73
## Running jniservice on Android
71
74
@@ -129,7 +132,7 @@ Run `make test-emulator` to test against a connected device or emulator. Tests s
129
132
130
133
| Type | Device | Android | API | ABI | Build | Date | Passed | Total |
All proto definitions, gRPC wrappers, and CLI commands are generated from Java API specs in the [jni](https://github.com/AndroidGoLab/jni) repo. To regenerate everything:
156
+
157
+
```bash
158
+
make generate # runs: proto → protoc → grpc → cli
159
+
```
160
+
161
+
Individual steps:
162
+
```bash
163
+
make proto # generate .proto files from Java specs
164
+
make protoc # compile .proto → Go stubs
165
+
make grpc # generate gRPC server/client wrappers
166
+
make cli # generate jnicli cobra commands
167
+
make callbacks # generate Java callback adapter classes
168
+
```
169
+
150
170
## Security
151
171
152
172
> **Security disclaimer:** This is a hobby/research project. The mTLS + ACL system provides basic access control, but it has not been audited and should not be relied upon for security-critical deployments. The self-signed CA, handle-based object references, and raw JNI surface all have inherent attack surface. Use it on trusted networks for development, testing, and experimentation.
0 commit comments