Skip to content

tribixbite/GlassAssistant

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GlassAssistant

Build APK Latest Release

Use OpenAI's Vision and Transcription capabilities to understand the world around you - now with support for Claude and Gemini!

Building for Google Glass XE24

This guide provides complete instructions for setting up a development environment and building the APK for Google Glass XE24.

Prerequisites

  • Linux/macOS/WSL environment
  • ~2GB free disk space
  • Internet connection for downloading SDKs
  • Google Glass with XE24 firmware
  • USB cable for Glass connection

Complete Development Environment Setup

Step 1: Install Java JDK 17

# Create tools directory
mkdir -p ~/tools
cd ~/tools

# Download Adoptium OpenJDK 17
wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -O jdk.tar.gz

# Extract JDK
tar -xzf jdk.tar.gz

# Set environment variables
export JAVA_HOME=~/tools/jdk-17.0.9+9
export PATH=$JAVA_HOME/bin:$PATH

# Verify installation
java -version

Step 2: Install Android SDK

# Create Android SDK directory
mkdir -p ~/Android/Sdk
cd ~/Android/Sdk

# Download Android command line tools
wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O cmdline-tools.zip

# Extract and organize
unzip -q cmdline-tools.zip
mkdir -p cmdline-tools/latest
mv cmdline-tools/* cmdline-tools/latest/ 2>/dev/null || true
rm cmdline-tools.zip

# Set Android environment variables
export ANDROID_HOME=~/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

# Accept licenses (this will prompt you to accept)
yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --sdk_root=$ANDROID_HOME --licenses

# Install required SDK components
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --sdk_root=$ANDROID_HOME \
  "platform-tools" \
  "platforms;android-19" \
  "platforms;android-34" \
  "build-tools;34.0.0"

Step 3: Configure Project for Glass XE24

The project has been pre-configured with the following Glass-specific settings:

app/build.gradle.kts:

android {
    defaultConfig {
        minSdk = 19  // Google Glass XE24 runs on API 19 (KitKat)
        targetSdk = 19  // Target API 19 for Glass compatibility
        multiDexEnabled = true  // Enable multidex for method count > 64K
    }
}

dependencies {
    implementation("androidx.multidex:multidex:2.0.1")  // Required for API 19
    // ... other dependencies
}

Step 4: Build the APK

# Clone the repository (if not already cloned)
git clone https://github.com/Synople/GlassAssistant.git
cd GlassAssistant

# Set environment variables (if not already set)
export JAVA_HOME=~/tools/jdk-17.0.9+9
export ANDROID_HOME=~/Android/Sdk
export PATH=$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$PATH

# Make gradlew executable
chmod +x gradlew

# Build debug APK
./gradlew clean assembleDebug

# The APK will be generated at:
# app/build/outputs/apk/debug/app-debug.apk

Installing on Google Glass

Enable Developer Mode on Glass

  1. Go to Settings → Device info
  2. Tap build number 7 times
  3. Go back to Settings → Developer options
  4. Enable USB debugging

Install the APK

# Connect Glass via USB and verify connection
adb devices

# Install the APK
adb install app/build/outputs/apk/debug/app-debug.apk

# Or replace existing installation
adb install -r app/build/outputs/apk/debug/app-debug.apk

Troubleshooting

Build Issues

  • Out of memory: Increase Gradle heap size in gradle.properties
  • SDK not found: Ensure ANDROID_HOME and JAVA_HOME are set correctly
  • Multidex errors: Already configured in the project
  • License not accepted: Run yes | sdkmanager --licenses again

Installation Issues

  • Glass not detected:
    adb kill-server
    adb start-server
    adb devices
  • Permission denied: Ensure USB debugging is enabled on Glass
  • App crashes: Check logs with adb logcat | grep -i glassassistant

Quick Build Script

Save this as build_glass.sh for one-command builds:

#!/bin/bash
export JAVA_HOME=~/tools/jdk-17.0.9+9
export ANDROID_HOME=~/Android/Sdk
export PATH=$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$PATH

./gradlew clean assembleDebug

if [ $? -eq 0 ]; then
    echo "✅ Build successful!"
    echo "APK location: app/build/outputs/apk/debug/app-debug.apk"
    echo "Install with: adb install app/build/outputs/apk/debug/app-debug.apk"
else
    echo "❌ Build failed"
fi

Environment Variables Summary

Add these to your ~/.bashrc or ~/.zshrc:

# Android development
export JAVA_HOME=~/tools/jdk-17.0.9+9
export ANDROID_HOME=~/Android/Sdk
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

Setup

  1. Generate an OpenAI API Key: https://platform.openai.com/api-keys
  2. Turn the API Key into a QR Code
  3. Install and launch the GlassAssistant app on Glass
  4. Scan the generated QR Code
  5. Hold the camera button and speak for a custom prompt. Otherwise tap Glass to use a default prompt
  6. The results are vertically scrollable. Tap Glass or click the camera button to return to the Camera view

Development Notes

  • Target Device: Google Glass Explorer Edition with XE24 firmware
  • Min Android Version: API 19 (Android 4.4 KitKat)
  • Build System: Gradle 8.4 with Kotlin
  • Multidex: Enabled for compatibility with API 19
  • APK Size: ~8.4 MB (debug build)

Screenshots

A diecast model car is visible through Glass EE2 with application usage instructions on screen.

A transcription of the spoken text is visible, with a loading animation underneath

White text on a black background: The primary object in the image is a small replica of a vintage convertible car, possibly a collectible or a toy, displayed on a wooden surface with a purple light illuminating the background.

License

See LICENSE file for details.

About

Assistant for Google Glass EE2

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Kotlin 97.0%
  • Shell 3.0%