apkdev 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- apkdev/__init__.py +13 -0
- apkdev/__main__.py +5 -0
- apkdev/apkfile.py +168 -0
- apkdev/builder.py +671 -0
- apkdev/cli.py +925 -0
- apkdev/completion.py +14 -0
- apkdev/device.py +161 -0
- apkdev/inspector.py +291 -0
- apkdev/optimizer.py +58 -0
- apkdev/reverser.py +62 -0
- apkdev/sdk.py +526 -0
- apkdev/utils.py +74 -0
- apkdev-2.0.0.dist-info/METADATA +159 -0
- apkdev-2.0.0.dist-info/RECORD +17 -0
- apkdev-2.0.0.dist-info/WHEEL +5 -0
- apkdev-2.0.0.dist-info/entry_points.txt +2 -0
- apkdev-2.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: apkdev
|
|
3
|
+
Version: 2.0.0
|
|
4
|
+
Summary: The complete Android APK toolkit — build, reverse engineer, extract metadata, manage devices
|
|
5
|
+
Author: cyberdash
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/earendil-works/apkdev
|
|
8
|
+
Project-URL: Source, https://github.com/earendil-works/apkdev
|
|
9
|
+
Project-URL: BugTracker, https://github.com/earendil-works/apkdev/issues
|
|
10
|
+
Keywords: android,apk,reverse-engineering,apktool,jadx,smali,mobile,security
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Information Technology
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Natural Language :: English
|
|
17
|
+
Classifier: Operating System :: Android
|
|
18
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
19
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
20
|
+
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
27
|
+
Classifier: Topic :: Security
|
|
28
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
29
|
+
Classifier: Topic :: Software Development :: Embedded Systems
|
|
30
|
+
Classifier: Topic :: Utilities
|
|
31
|
+
Requires-Python: >=3.8
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
Requires-Dist: click>=8.0
|
|
34
|
+
Requires-Dist: rich>=13.0
|
|
35
|
+
|
|
36
|
+
# APKDev
|
|
37
|
+
|
|
38
|
+
📱 **The complete Android APK toolkit** — build, reverse engineer, extract metadata, and manage devices.
|
|
39
|
+
One `pip install` and you have everything you need to work with APKs.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pip install apkdev
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Features
|
|
46
|
+
|
|
47
|
+
**29 commands** covering the full APK lifecycle:
|
|
48
|
+
|
|
49
|
+
### 🏗️ Build
|
|
50
|
+
| Command | What it does |
|
|
51
|
+
|---------|-------------|
|
|
52
|
+
| `apkdev new MyApp` | Scaffold a Kotlin + Gradle project |
|
|
53
|
+
| `apkdev build` | Compile APK via Gradle |
|
|
54
|
+
| `apkdev sign app.apk` | Sign with debug key |
|
|
55
|
+
| `apkdev optimize app.apk` | Zipalign + sign in one step |
|
|
56
|
+
|
|
57
|
+
### 📲 Device (ADB)
|
|
58
|
+
| Command | What it does |
|
|
59
|
+
|---------|-------------|
|
|
60
|
+
| `apkdev install app.apk` | Install to device |
|
|
61
|
+
| `apkdev uninstall com.example` | Remove app |
|
|
62
|
+
| `apkdev pull com.example` | Pull APK from device |
|
|
63
|
+
| `apkdev packages` | List installed packages |
|
|
64
|
+
| `apkdev devices` | List connected devices |
|
|
65
|
+
|
|
66
|
+
### 🔍 Reverse Engineering
|
|
67
|
+
| Command | What it does |
|
|
68
|
+
|---------|-------------|
|
|
69
|
+
| `apkdev decode app.apk` | Decompile to smali/resources (apktool) |
|
|
70
|
+
| `apkdev rebuild dir/` | Rebuild APK from decoded dir |
|
|
71
|
+
| `apkdev decompile app.apk` | Decompile to Java source (jadx) |
|
|
72
|
+
| `apkdev baksmali classes.dex` | Disassemble to smali |
|
|
73
|
+
| `apkdev smali dir/` | Assemble smali → dex |
|
|
74
|
+
| `apkdev jar app.apk` | Convert DEX/APK to JAR |
|
|
75
|
+
| `apkdev apkeditor ...` | APKEditor (merge/split/modify) |
|
|
76
|
+
|
|
77
|
+
### 🔎 Inspection
|
|
78
|
+
| Command | What it does |
|
|
79
|
+
|---------|-------------|
|
|
80
|
+
| `apkdev inspect app.apk` | Full metadata (package, version, permissions, activities...) |
|
|
81
|
+
| `apkdev manifest app.apk` | AndroidManifest.xml dump |
|
|
82
|
+
| `apkdev permissions app.apk` | Permission list |
|
|
83
|
+
| `apkdev strings app.apk` | Resource string pool |
|
|
84
|
+
| `apkdev resources app.apk` | Resource table |
|
|
85
|
+
| `apkdev cert app.apk` | Signing certificate info |
|
|
86
|
+
| `apkdev ls app.apk` | List files inside APK |
|
|
87
|
+
| `apkdev extract app.apk` | Extract APK contents |
|
|
88
|
+
| `apkdev analyze app.apk` | Deep analysis (androguard + aapt2) |
|
|
89
|
+
|
|
90
|
+
### ⚙️ System
|
|
91
|
+
| Command | What it does |
|
|
92
|
+
|---------|-------------|
|
|
93
|
+
| `apkdev info` | Show installed tool versions |
|
|
94
|
+
| `apkdev doctor` | Check environment |
|
|
95
|
+
| `apkdev setup` | Auto-install everything |
|
|
96
|
+
| `apkdev completion` | Shell tab-completion |
|
|
97
|
+
|
|
98
|
+
## Requirements
|
|
99
|
+
|
|
100
|
+
- **Python 3.8+** is all you NEED
|
|
101
|
+
- **Java 17+** for building & RE (apkdev can install it)
|
|
102
|
+
|
|
103
|
+
## Quick Start
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Install
|
|
107
|
+
pip install apkdev
|
|
108
|
+
|
|
109
|
+
# Without Java — these 6 commands work immediately:
|
|
110
|
+
apkdev ls someapp.apk # List files inside APK
|
|
111
|
+
apkdev extract someapp.apk # Extract APK to folder
|
|
112
|
+
apkdev new MyApp # Create new project
|
|
113
|
+
apkdev info # Check installed tools
|
|
114
|
+
apkdev doctor # Check what's missing
|
|
115
|
+
|
|
116
|
+
# Install Java + everything else:
|
|
117
|
+
apkdev setup # Auto-installs Java, SDK, all tools
|
|
118
|
+
|
|
119
|
+
# With Java — full power:
|
|
120
|
+
apkdev build # Build APK
|
|
121
|
+
apkdev decode someapp.apk # Decompile to smali
|
|
122
|
+
apkdev decompile someapp.apk # Decompile to Java
|
|
123
|
+
apkdev inspect someapp.apk # Full metadata
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## How Java Gets Installed
|
|
127
|
+
|
|
128
|
+
`apkdev setup` bootstraps Java via your platform's package manager:
|
|
129
|
+
|
|
130
|
+
| Platform | Method |
|
|
131
|
+
|----------|--------|
|
|
132
|
+
| **Termux/Android** | `pkg install openjdk-21` |
|
|
133
|
+
| **Linux (Debian)** | `sudo apt-get install openjdk-21-jdk` |
|
|
134
|
+
| **Linux (Fedora)** | `sudo dnf install java-21-openjdk-devel` |
|
|
135
|
+
| **Linux (Arch)** | `sudo pacman -S jdk21-openjdk` |
|
|
136
|
+
| **macOS** | Installs Homebrew → `brew install openjdk@21` |
|
|
137
|
+
| **Windows** | Installs Chocolatey → `choco install openjdk21` |
|
|
138
|
+
|
|
139
|
+
If auto-install fails, it tells you exactly what to do.
|
|
140
|
+
|
|
141
|
+
## Smart Abbreviations
|
|
142
|
+
|
|
143
|
+
All commands support unique prefixes:
|
|
144
|
+
```
|
|
145
|
+
apkdev n → new
|
|
146
|
+
apkdev deco → decode (ambiguous: decode/decompile → shows choices)
|
|
147
|
+
apkdev decom → decompile
|
|
148
|
+
apkdev ins → inspect
|
|
149
|
+
apkdev inf → info
|
|
150
|
+
apkdev per → permissions
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Why APKDev?
|
|
154
|
+
|
|
155
|
+
- **Complete** — 29 commands covering build, RE, inspection, device management
|
|
156
|
+
- **Zero compilation** — pure Python, works anywhere Python runs
|
|
157
|
+
- **Beautiful output** — rich tables, panels, syntax highlighting
|
|
158
|
+
- **Smart** — auto-patches platform-specific issues (aapt2 on ARM)
|
|
159
|
+
- **20KB wheel** — tiny footprint
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
apkdev/__init__.py,sha256=7mY0eBIbznz8ofADxY9Du7YJnX6HBzKO6Gsf5w6fhME,319
|
|
2
|
+
apkdev/__main__.py,sha256=Qb24_Ult9ns9ZTLCdDTCnyCzakoO7JQR5a7FZGKwsyw,100
|
|
3
|
+
apkdev/apkfile.py,sha256=P_FICWAx5sPpkuv6jGeGcQCGO83FqflR0L2bxubzCKA,6335
|
|
4
|
+
apkdev/builder.py,sha256=Pu_-1e0cT2zzxeYZGlxc59uc1kJszWpKurSw7xtBySU,24750
|
|
5
|
+
apkdev/cli.py,sha256=AwOgffKwLQnIOrPvVbDCxB5UMSAd9ROu849DM8AOHDA,36971
|
|
6
|
+
apkdev/completion.py,sha256=dCIKNxRQVig2zSh1vV8oOv_TuXvHHBszSFLtJVscX7s,415
|
|
7
|
+
apkdev/device.py,sha256=NhBNrM0HH1guiU3-TnS5R2ULlfQG3hnr3Rd3P0vLe9s,5191
|
|
8
|
+
apkdev/inspector.py,sha256=5V8P_b7LrcAsgEAH2-t0uQ0X0bBME-M6O6ZnAdK9oJ0,10433
|
|
9
|
+
apkdev/optimizer.py,sha256=01DY17ru7r5OGaJ2qqnOuYJ6modtHGQtAxhpeKsMi5g,2028
|
|
10
|
+
apkdev/reverser.py,sha256=hyiZ3f8sDIbbCXvYBrjQOL8SCQwFuGJwU9_4p90aZkY,2132
|
|
11
|
+
apkdev/sdk.py,sha256=NLvAXI4pHqtHznYQ5VD4fntn96y1nt7_NxqS8Ji7ipw,23162
|
|
12
|
+
apkdev/utils.py,sha256=H9T3Z_iZkiHDw-bdYruHkaLjehn2ka1UQAWWNqx8iS4,2750
|
|
13
|
+
apkdev-2.0.0.dist-info/METADATA,sha256=nxYAf6dbrfY4eBXpxb46U5ZN2hQm4VO8l4LocX02R3g,5770
|
|
14
|
+
apkdev-2.0.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
15
|
+
apkdev-2.0.0.dist-info/entry_points.txt,sha256=RD2o04u7x_wyD8qHQPgmzkhP2oKDwII90DU3xwO44Nw,42
|
|
16
|
+
apkdev-2.0.0.dist-info/top_level.txt,sha256=D6bdcYLShYppnGHFUFbl4TdlKFvH6GSs9hH-nICQt4E,7
|
|
17
|
+
apkdev-2.0.0.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
apkdev
|