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-AGPL v3.0-blue.svg" alt="Mobile MCP is released under the AGPL v3.0 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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobilecli",
3
- "version": "0.3.74",
3
+ "version": "0.3.75",
4
4
  "author": "Mobile Next",
5
5
  "description": "A universal command-line tool for managing iOS and Android devices, simulators, emulators and apps",
6
6
  "repository": {