Skip to content

Jaypatelbond/StackSense

Repository files navigation

StackSense πŸ”

StackSense Logo

Analyze installed Android apps to discover their programming languages, cross-platform frameworks, and third-party libraries. Reverse-engineer your app ecosystem. 100% Offline.

Kotlin Jetpack Compose Material 3 API License

✈️ Works 100% Offline - No Internet Required


✨ Features

Feature Description
πŸ“± App List View all installed apps in a beautiful Material 3 list
πŸ” Search Filter apps by name or package
🏷️ Language Detection Identify Kotlin, Java, and Native (C/C++) code
🌐 Cross-Platform Detection Detect Flutter, React Native, Xamarin, Unity, Cordova, Qt, KMP
πŸ“š Library Detection Detect 50+ popular Android libraries
🎨 Material You Dynamic theming based on your wallpaper (Android 12+)
πŸŒ™ Dark Mode Full dark mode support
πŸ›‘οΈ Permissions View detailed requested permissions list
πŸ“Š Export Export analysis to JSON or save APK to device
πŸ“€ Share Share analysis results as text
✈️ Offline Works completely offline

πŸ“Έ Screenshots


πŸ”¬ How It Works

StackSense analyzes APK files locally on your device without requiring any internet connection:

Language Detection

  • Kotlin: Scans for kotlin/Metadata entries in DEX files
  • Java: Default for JVM bytecode without Kotlin markers
  • Native: Checks for .so files in lib/ directories

Cross-Platform Framework Detection

Framework Detection Method
Flutter libflutter.so + flutter_assets/ folder
React Native libreactnativejni.so + index.android.bundle
Xamarin libmonodroid.so + Mono assemblies
Cordova/Ionic www/ folder with cordova.js
Unity libunity.so + assets/bin/Data/
Qt libQt5Core.so or libQt6Core.so
Kotlin Multiplatform kotlinx/ packages with common modules

Library Detection

Scans DEX files for known package prefixes of 50+ popular libraries:

πŸ“š Detectable Libraries

Networking

  • Retrofit, OkHttp, Volley, Ktor, Apollo GraphQL

Image Loading

  • Glide, Coil, Picasso, Fresco

Dependency Injection

  • Hilt, Dagger, Koin, Toothpick

Database

  • Room, Realm, SQLDelight, greenDAO

Reactive Programming

  • RxJava 2/3, Kotlin Coroutines, Kotlin Flow

Analytics

  • Firebase Analytics, Google Analytics, Amplitude, Mixpanel, Segment

Advertising

  • AdMob, Facebook Audience Network, Unity Ads, AppLovin, ironSource

UI Components

  • Lottie, Epoxy, Material Components, PhotoView

Serialization

  • Gson, Moshi, Kotlinx Serialization, Jackson

Crash Reporting

  • Firebase Crashlytics, Sentry, Bugsnag, Instabug

Logging

  • Timber, Logger

Architecture

  • Orbit MVI, Mavericks

Security

  • AndroidX Security, Tink

And many more...


πŸ›  Tech Stack

Category Technology
Language Kotlin 2.1
UI Framework Jetpack Compose
Design System Material 3 (Material You)
Architecture MVVM + Clean Architecture
Dependency Injection Hilt
Navigation Compose Navigation
Async Kotlin Coroutines + Flow
Image Loading Coil 3
Min SDK API 26 (Android 8.0)
Target SDK API 35

πŸ“¦ Project Structure

app/src/main/java/com/stacksense/
β”œβ”€β”€ di/                    # Hilt dependency injection
β”‚   └── AppModule.kt
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ model/            # Data classes
β”‚   β”‚   └── AppModels.kt
β”‚   β”œβ”€β”€ repository/       # Data sources
β”‚   β”‚   └── AppRepository.kt
β”‚   β”œβ”€β”€ export/           # Export & file handling
β”‚   β”‚   └── AnalysisExporter.kt
β”‚   └── analyzer/         # APK analysis logic
β”‚       β”œβ”€β”€ ApkAnalyzer.kt
β”‚       └── LibrarySignatures.kt
β”œβ”€β”€ ui/
β”‚   β”œβ”€β”€ theme/            # Material 3 theming
β”‚   β”‚   β”œβ”€β”€ Theme.kt
β”‚   β”‚   └── Type.kt
β”‚   β”œβ”€β”€ components/       # Reusable composables
β”‚   β”‚   β”œβ”€β”€ AppCard.kt
β”‚   β”‚   └── LibraryChip.kt
β”‚   β”œβ”€β”€ screens/
β”‚   β”‚   β”œβ”€β”€ home/         # Main app list
β”‚   β”‚   β”‚   β”œβ”€β”€ HomeScreen.kt
β”‚   β”‚   β”‚   └── HomeViewModel.kt
β”‚   β”‚   └── detail/       # App details
β”‚   β”‚       β”œβ”€β”€ DetailScreen.kt
β”‚   β”‚       └── DetailViewModel.kt
β”‚   └── navigation/       # Navigation setup
β”‚       └── AppNavigation.kt
β”œβ”€β”€ StackSenseApplication.kt
└── MainActivity.kt

πŸš€ Getting Started

Prerequisites

  • Android Studio Ladybug (2024.2.1) or newer
  • JDK 17+
  • Android SDK 35

Build Instructions

  1. Clone the repository

    git clone https://github.com/yourusername/StackSense.git
    cd StackSense
  2. Open in Android Studio

    • File β†’ Open β†’ Select the StackSense folder
  3. Build the project

    ./gradlew assembleDebug
  4. Install on device

    ./gradlew installDebug

⚠️ Permissions

This app requires the QUERY_ALL_PACKAGES permission to scan installed applications.

Note: Due to Google Play policies, apps using this permission must declare a valid use case. This app is intended for personal/educational use to understand app technologies.


🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • Jetpack Compose - Modern Android UI toolkit
  • Material 3 - Design system by Google
  • Hilt - Dependency injection
  • All the amazing open-source libraries that make Android development better

Made with ❀️ using Kotlin & Jetpack Compose

If you found this project helpful, please ⭐ the repository!

StackSense 2.0.0 Release

Now supports statistics dashboard screen, app comparison matrixes, batch reports exporting, advanced query searches, favorites database bookmarks, permission scoring algorithms, Glance home widget widget updates, and quick shortcuts action keys.

About

StackSense is an offline-first Android app that analyzes installed applications to detect their tech stack (Kotlin, Flutter, React Native), 50+ libraries, and permissions.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors

Languages