- Updated Makefile to include new setup commands for Android SDK and emulator management. - Revised README.md to reflect changes in setup instructions and command usage. - Introduced setup.sh script for one-time environment setup, including SDK installation and configuration. - Modified CrklAccessibilityService to implement a floating action button instead of a full-screen overlay. - Enhanced OverlayView to support toggling between button and overlay modes for gesture capture. - Adjusted accessibility service configuration to disable touch exploration mode for better user experience.
97 lines
2.5 KiB
Markdown
97 lines
2.5 KiB
Markdown
# Crkl - On-Device AI Assistant
|
|
|
|
Privacy-first Android AI assistant that lets users circle or touch any element on their screen, then calls a fully *on-device* AI engine to transcribe, summarize, explain, or draft responses.
|
|
|
|
## Features
|
|
- System-wide accessibility overlay
|
|
- Touch/gesture detection
|
|
- Local AI inference (no cloud calls)
|
|
- Privacy: *No data leaves device*
|
|
|
|
## Quick Start
|
|
|
|
### 1. Setup Development Environment
|
|
```bash
|
|
# One-time setup (installs Android SDK and tools)
|
|
./setup.sh
|
|
```
|
|
|
|
### 2. Connect Your Android Device
|
|
See [PHONE_SETUP.md](PHONE_SETUP.md) for detailed setup instructions.
|
|
|
|
### 3. Build and Install
|
|
```bash
|
|
make check-device # Check if device is connected
|
|
make build # Build APK
|
|
make install # Install to device
|
|
make run # Launch app
|
|
```
|
|
|
|
### 3. Enable Accessibility Service
|
|
1. Open Crkl app (shows welcome screen)
|
|
2. Tap "Open Accessibility Settings"
|
|
3. Find "Crkl Overlay Service" and toggle ON
|
|
4. Accept permission dialog
|
|
|
|
### 4. Test It
|
|
```bash
|
|
make logs # Watch logs
|
|
```
|
|
Touch your phone screen anywhere - you'll see touch detection logs and visual feedback (cyan circles).
|
|
|
|
## Commands
|
|
|
|
### Setup Commands
|
|
```bash
|
|
./setup.sh # One-time setup (installs Android SDK)
|
|
make setup-sdk # Install Android SDK and tools
|
|
make check-device # Check if device is connected
|
|
```
|
|
|
|
### Development Commands
|
|
```bash
|
|
make build # Build APK
|
|
make install # Install to device
|
|
make run # Launch app
|
|
make logs # Watch app logs
|
|
make stop # Stop app
|
|
make clean # Clean build
|
|
make uninstall # Remove app
|
|
```
|
|
|
|
### Help
|
|
```bash
|
|
make help # Show all available commands
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
crkl/
|
|
├── app/src/main/kotlin/com/example/crkl/
|
|
│ ├── MainActivity.kt # Main app activity
|
|
│ ├── accessibility/
|
|
│ │ ├── CrklAccessibilityService.kt # System overlay service
|
|
│ │ └── OverlayView.kt # Touch detection view
|
|
│ └── ui/theme/ # App theming
|
|
├── app/src/main/res/ # Resources
|
|
├── Makefile # Build commands
|
|
├── PHONE_SETUP.md # Phone setup guide
|
|
└── README.md # This file
|
|
```
|
|
|
|
## Development
|
|
|
|
The POC is complete with:
|
|
- ✅ System-wide overlay
|
|
- ✅ Touch detection
|
|
- ✅ Visual feedback
|
|
- ✅ Logging
|
|
|
|
Next: Add gesture recognition, content detection, and AI integration.
|
|
|
|
## Requirements
|
|
|
|
- Android phone (Android 8.1+)
|
|
- Android SDK on Linux
|
|
- USB debugging enabled |