mobilecli 0.3.74 → 0.3.75
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.
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ A universal command-line tool for managing iOS and Android devices, simulators,
|
|
|
16
16
|
<img src="https://img.shields.io/github/release/mobile-next/mobilecli">
|
|
17
17
|
</a>
|
|
18
18
|
<a href="https://github.com/mobile-next/mobilecli/blob/main/LICENSE">
|
|
19
|
-
<img src="https://img.shields.io/badge/license-
|
|
19
|
+
<img src="https://img.shields.io/badge/license-FSL--1.1--Apache--2.0-blue.svg" alt="mobilecli is released under the FSL-1.1-Apache-2.0 License">
|
|
20
20
|
</a>
|
|
21
21
|
</p>
|
|
22
22
|
|
|
@@ -36,6 +36,7 @@ A universal command-line tool for managing iOS and Android devices, simulators,
|
|
|
36
36
|
- **Screencapture video streaming**: Stream mjpeg/h264 video directly from device
|
|
37
37
|
- **Device Control**: Reboot devices, tap screen coordinates, press hardware buttons
|
|
38
38
|
- **App Management**: Launch, terminate, install, uninstall, list, and get foreground apps
|
|
39
|
+
- **Filesystem**: Push, pull, list, mkdir, and rm files on-device or in app containers (Android, iOS Simulator)
|
|
39
40
|
- **Crash Reports**: List and fetch crash reports from iOS and Android devices
|
|
40
41
|
|
|
41
42
|
### 🎯 Platform Support
|
|
@@ -221,6 +222,88 @@ Example output for `apps foreground`:
|
|
|
221
222
|
}
|
|
222
223
|
```
|
|
223
224
|
|
|
225
|
+
### Filesystem 📂
|
|
226
|
+
|
|
227
|
+
Access files on the device or inside an app's data container. Currently supported on **Android** and **iOS Simulator**.
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Get the data container path of an app (Android)
|
|
231
|
+
mobilecli apps path <bundle-id> --device <device-id>
|
|
232
|
+
|
|
233
|
+
# List files at any absolute path (defaults to device root if omitted)
|
|
234
|
+
mobilecli fs ls --device <device-id>
|
|
235
|
+
mobilecli fs ls --device <device-id> /sdcard
|
|
236
|
+
mobilecli fs ls --device <device-id> /sdcard/Download
|
|
237
|
+
|
|
238
|
+
# List files inside an app's data container
|
|
239
|
+
mobilecli fs ls --device <device-id> com.example.app
|
|
240
|
+
mobilecli fs ls --device <device-id> com.example.app /Documents
|
|
241
|
+
|
|
242
|
+
# Pull a file from the device to local disk
|
|
243
|
+
mobilecli fs pull --device <device-id> /sdcard/recording.mp4 ./recording.mp4
|
|
244
|
+
|
|
245
|
+
# Pull a file from an app's private container
|
|
246
|
+
mobilecli fs pull --device <device-id> /data/user/0/com.example.app/files/db.sqlite ./db.sqlite
|
|
247
|
+
|
|
248
|
+
# Push a file to the device
|
|
249
|
+
mobilecli fs push --device <device-id> ./config.json /sdcard/config.json
|
|
250
|
+
|
|
251
|
+
# Push a file into an app's private container
|
|
252
|
+
mobilecli fs push --device <device-id> ./config.json /data/user/0/com.example.app/files/config.json
|
|
253
|
+
|
|
254
|
+
# Create a directory
|
|
255
|
+
mobilecli fs mkdir --device <device-id> /sdcard/myfolder
|
|
256
|
+
|
|
257
|
+
# Create a directory and all parent directories
|
|
258
|
+
mobilecli fs mkdir --device <device-id> -p /sdcard/a/b/c
|
|
259
|
+
mobilecli fs mkdir --device <device-id> -p /data/user/0/com.example.app/files/cache/v2
|
|
260
|
+
|
|
261
|
+
# Remove a file
|
|
262
|
+
mobilecli fs rm --device <device-id> /sdcard/old_file.txt
|
|
263
|
+
|
|
264
|
+
# Remove a directory recursively
|
|
265
|
+
mobilecli fs rm --device <device-id> -r /sdcard/myfolder
|
|
266
|
+
mobilecli fs rm --device <device-id> -r /data/user/0/com.example.app/files/cache
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Example output for `apps path`:
|
|
270
|
+
```json
|
|
271
|
+
{
|
|
272
|
+
"status": "ok",
|
|
273
|
+
"data": {
|
|
274
|
+
"path": "/data/user/0/com.example.app"
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
Example output for `fs ls`:
|
|
280
|
+
```json
|
|
281
|
+
{
|
|
282
|
+
"status": "ok",
|
|
283
|
+
"data": [
|
|
284
|
+
{
|
|
285
|
+
"name": "files",
|
|
286
|
+
"path": "/data/user/0/com.example.app/files",
|
|
287
|
+
"size": 4096,
|
|
288
|
+
"modTime": "2026-05-11T19:20:00Z",
|
|
289
|
+
"isDir": true
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"name": "shared_prefs",
|
|
293
|
+
"path": "/data/user/0/com.example.app/shared_prefs",
|
|
294
|
+
"size": 4096,
|
|
295
|
+
"modTime": "2026-05-11T12:49:00Z",
|
|
296
|
+
"isDir": true
|
|
297
|
+
}
|
|
298
|
+
]
|
|
299
|
+
}
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
**Notes:**
|
|
303
|
+
- Paths under `/data/user/` are accessed via `run-as`, so the app must be debuggable.
|
|
304
|
+
- Pushing to `/data/user/` stages the file through `/data/local/tmp/` then copies it into the container.
|
|
305
|
+
- Pulling binary files (images, databases, DEX files) is fully supported and binary-safe on all platforms.
|
|
306
|
+
|
|
224
307
|
### Agent Management 🤖
|
|
225
308
|
|
|
226
309
|
On **iOS**, the on-device agent is required for touch input (taps, swipes, button presses), screen capture streaming, and UI tree inspection. These capabilities are not available through standard iOS tooling without an agent running on the device.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|