TH
theapache64/stackzy
๐ป A cross-platform desktop application to identify libraries used inside an android application โก
๐ stackzy
A desktop app to analyse APK. Built using Compose desktop
โจ Demo
- Watch demo
๐ฝ๏ธ Usage
- Show usage
๐ป Install
| Platform | Format | Download | Status |
|---|---|---|---|
| Linux | DEB | Experimental | |
| JAR | Experimental | ||
| Windows | MSI | Experimental | |
| JAR | Experimental | ||
| MacOS | DMG | Experimental | |
| JAR (ARM64) | Experimental | ||
| JAR (x64) | Experimental |
๐ Installation Notes
- JAR files: Require Java 15 or above to run
- MacOS DMG: The DMG file is not notarized and may trigger a security warning. To resolve this:
- Right-click the app and select "Open"
- If prompted with a security warning, go to System Preferences โ Security & Privacy
- Click "Open Anyway" next to the blocked app message
- Alternative build: If you prefer building from source, clone the repo and execute
./gradlew createDistributable
๐ Dependency
- Java 8 or above
๐๏ธ๏ธ Built with
| What | How |
|---|---|
| ๐ญ User Interface | Compose Desktop |
| ๐ Architecture | MVVM |
| ๐ง Backend | Retrosheet |
| ๐ DI | Dagger2 |
| ๐ ๏ธ APK Decompiling | ApkTool |
| โ Dex to Java | jadx |
| ๐ฃ๏ธ Navigation | Decompose |
| ๐ Async | Coroutines + Flow |
| ๐ Networking | Retrofit |
| ๐ JSON | Moshi |
| โจ๏ธ Logging | Arbor |
| ๐ป ADB | Adam |
| ๐งช Testing | DaggerMock + JUnit |
๐ Fun Facts
-
Stackzy
uses a google sheet
as the backend, thanks to Retrosheet -
The initial name of Stackzy was
Which Stack -
Stackzy uses a gloabl caching mechanism, which works as a centralized caching system. Means, if someone
decompiledWhatsApp, the next time you try to find the stack, it won't be decompiled and the result will be served
from the cache.
๐ Credits
- Special thanks to @mikepenz for contributing 200+ libraries from his
project AboutLibraries ๐ - Special thanks to @SpikeySanju for the beautiful design ๐
- Icons are from flaticon.com
- Illustrations are from evernote.design
- Thanks to all amazing people at Twitter for inspiring me to continue the development of this project.
๐ฅผ Test
Before executing any test, ensure
- A device has connected to the adb
- a valid
PLAY_API_GOOGLE_USERNAMEandPLAY_API_GOOGLE_PASSWORDdefined in your environment.
๐ค Contributing
- See CONTRIBUTING.md
โค Show your support
Give a โญ๏ธ if this project helped you!
๐ License
Copyright ยฉ 2021 - theapache64
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
This README was generated by readgen โค
On this page
Languages
Kotlin100.0%
Apache License 2.0
Created February 5, 2021
Updated February 25, 2026
