Skip to content

Android Solid Services App

The Android Solid Services app is the hub of the ecosystem. It manages your Solid accounts and runs three background bound services that third-party apps connect to over AIDL — giving the whole Android device a single, shared Solid identity layer.

Features

  • Single sign-in — one login in ASS; every third-party app on the device reuses that session via IPC.
  • Multi-account — log in with multiple Solid pod accounts and switch the active one from Settings.
  • Access control — third-party apps must request a grant; you see the app name and approve or deny from within ASS.
  • Resource management — proxy CRUD operations on pod resources for connected apps.
  • Contacts data module — manage address books, contacts, and groups stored on the pod.

Screenshots

Login Account switcher Resource browser Settings
Login Accounts Resources Settings

How the App Works

When a third-party app wants to use Solid, it binds to one of ASS's three AIDL services:

Third-party app
      │  (Android IPC / AIDL)
Android Solid Services
      ├── ASSAuthenticatorService      ← login, access grants, account switching
      ├── ASSResourceService           ← read / create / update / delete pod resources
      └── SolidDataModulesService      ← contacts data module (address books, contacts, groups)

The third-party app never handles tokens or pod credentials directly. ASS performs all authenticated requests on its behalf.

Installation

Download the latest APK from the GitHub Releases page or build it from source.

Technology Stack

Area Technology
UI Jetpack Compose, Navigation Compose
State / architecture MVVM, ViewModel, StateFlow
Dependency injection Hilt
IPC Android AIDL bound services
Authentication OpenID Connect + DPoP (net.openid:appauth)
Persistence DataStore + Protocol Buffers (access grants, user profiles)
Solid protocol Inrupt Java Client SDK
Min SDK 26
Target SDK 33
Compile SDK 35