A powerful Android crash log viewer that reads system crash logs directly from your device. Built with Jetpack Compose and Material 3.
Features • Tech Stack • Usage • Contributing
- View Crash Logs - Read app crashes, ANRs, and native crashes from the system DropBox
- Filter & Search - Filter by crash type (Crashes, ANRs, Native) and search through logs
- Sort Options - Sort by newest or oldest first
- Time Range - Filter crashes from the last hour to the last 7 days
- Detailed View - View full stack traces with syntax highlighting
- Share & Copy - Easily share or copy crash logs
- Dark Mode - Full dark mode support with system theme following
- Dynamic Colors - Material You dynamic colors on Android 12+
- Android 5.0 (API 21) or higher
- ADB access for granting special permissions
StackLens requires special permissions that must be granted via ADB:
| Permission | Purpose |
|---|---|
READ_LOGS |
Read system crash logs |
READ_DROPBOX_DATA |
Access crash data from DropBoxManager |
PACKAGE_USAGE_STATS |
Get app names and icons (granted via Settings) |
-
Clone the repository:
git clone https://github.com/jonathanlee06/StackLens.git
-
Open the project in Android Studio
-
Build and install the app:
./gradlew installDebug
After installing the app, you need to grant the required permissions:
-
Usage Stats Access - Open the app and tap "Open Settings" to grant this permission from the system settings
-
READ_LOGS Permission - Connect your device via USB and run:
adb shell pm grant com.devbyjonathan.stacklens android.permission.READ_LOGS
-
READ_DROPBOX_DATA Permission - Run:
adb shell pm grant com.devbyjonathan.stacklens android.permission.READ_DROPBOX_DATA
Note: The app will close automatically when granting ADB permissions. This is expected Android behavior - simply reopen the app.
- Kotlin - 100% Kotlin
- Jetpack Compose - Modern declarative UI
- Material 3 - Material Design 3 with dynamic colors
- Hilt - Dependency injection
- Coroutines & Flow - Asynchronous programming
- Navigation Compose - Single activity navigation
- DropBoxManager - System crash log access
We welcome contributions! Here's how you can help:
- 🐛 Bug Reports: Found a bug? Open an issue
- ✨ Feature Requests: Have an idea? Share it with us
- 🔧 Code Contributions: Submit a pull request
- 📖 Documentation: Help improve our docs
- 🌍 Translations: Add support for more languages
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is dual-licensed:
The source code is licensed under the Apache License 2.0 - see the LICENSE file for details.
Logo, branding, and visual assets are proprietary and copyright protected - see ASSETS.md for details.
Note for Contributors: When forking this project, please replace all branding assets with your own.
Jonathan Lee - GitHub Profile
- Thanks to the Android team for Jetpack Compose
- Material Design team for the amazing design system
- Open source community for inspiration and tools
⭐ Star this repo if you find it helpful!
Made with ❤️ and ☕ by Jonathan
