├── .gitignore
├── .metadata
├── LICENSE
├── README.md
├── analysis_options.yaml
├── assets
├── AdbWinApi.dll
├── AdbWinUsbApi.dll
├── WSA_logo.png
├── adb
├── adb.exe
├── adbMac
├── lightningBoltLogo.png
└── logo512.png
├── installers
├── macOS
│ ├── config.json
│ └── logo512.icns
└── windows
│ └── Inno_Setup_Script.iss
├── lib
├── components
│ ├── apk_backup_dialog.dart
│ ├── apk_download_dialog.dart
│ ├── apk_install_dialog.dart
│ ├── console_output.dart
│ ├── custom_list_tile.dart
│ ├── device_info_list_tile.dart
│ ├── file_transfer_progress.dart
│ ├── icon_name_material_button.dart
│ ├── material_ribbon.dart
│ ├── obtainRootDialog.dart
│ ├── page_subheading.dart
│ ├── preference_toggle.dart
│ ├── prompt_dialog.dart
│ ├── reinstall_system_app_dialog.dart
│ ├── select_compilation_mode_dialog.dart
│ ├── set_app_installer_dialog.dart
│ ├── simple_file_transfer_progress.dart
│ ├── simple_rectangle_icon_material_button.dart
│ ├── simple_text_field_alert.dart
│ ├── updater_dialog.dart
│ └── window_buttons.dart
├── layout_widgets
│ └── PackageInfo.dart
├── main.dart
├── models
│ ├── device.dart
│ ├── file_transfer_job.dart
│ ├── item.dart
│ └── storage.dart
├── screens
│ ├── connection_initiation_screen.dart
│ ├── device_info_screen.dart
│ ├── file_manager_screen.dart
│ ├── home_screen.dart
│ ├── package_manager_screen.dart
│ ├── power_controls_screen.dart
│ ├── settings_screen.dart
│ └── theme_mode_service.dart
├── services
│ ├── adb_services.dart
│ ├── android_api_checks.dart
│ ├── date_time_service.dart
│ ├── file_services.dart
│ ├── platform_services.dart
│ ├── shared_prefs.dart
│ ├── string_services.dart
│ ├── transform_functions.dart
│ └── update_services.dart
└── utils
│ ├── const.dart
│ ├── enums.dart
│ └── vars.dart
├── license.txt
├── linux
├── .gitignore
├── CMakeLists.txt
├── flutter
│ ├── CMakeLists.txt
│ ├── generated_plugin_registrant.cc
│ ├── generated_plugin_registrant.h
│ └── generated_plugins.cmake
├── main.cc
├── my_application.cc
└── my_application.h
├── macos
├── .gitignore
├── Flutter
│ ├── Flutter-Debug.xcconfig
│ ├── Flutter-Release.xcconfig
│ └── GeneratedPluginRegistrant.swift
├── Podfile
├── Podfile.lock
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── 1024.png
│ │ │ ├── 128.png
│ │ │ ├── 16.png
│ │ │ ├── 256.png
│ │ │ ├── 32.png
│ │ │ ├── 512.png
│ │ │ ├── 64.png
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ └── MainMenu.xib
│ ├── Configs
│ │ ├── AppInfo.xcconfig
│ │ ├── Debug.xcconfig
│ │ ├── Release.xcconfig
│ │ └── Warnings.xcconfig
│ ├── DebugProfile.entitlements
│ ├── Info.plist
│ ├── MainFlutterWindow.swift
│ └── Release.entitlements
└── RunnerTests
│ └── RunnerTests.swift
├── pubspec.yaml
├── readme_assets
├── lightningBoltLogo.png
├── screenshot_apps.png
├── screenshot_connection_initiation.png
├── screenshot_device_info.png
├── screenshot_file_manager.png
└── screenshot_power_controls.png
├── test
└── widget_test.dart
└── windows
├── .gitignore
├── CMakeLists.txt
├── flutter
├── CMakeLists.txt
├── generated_plugin_registrant.cc
├── generated_plugin_registrant.h
└── generated_plugins.cmake
└── runner
├── CMakeLists.txt
├── Runner.rc
├── flutter_window.cpp
├── flutter_window.h
├── main.cpp
├── resource.h
├── resources
└── app_icon.ico
├── runner.exe.manifest
├── utils.cpp
├── utils.h
├── win32_window.cpp
└── win32_window.h
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | **/ios/Flutter/.last_build_id
26 | .dart_tool/
27 | .flutter-plugins
28 | .flutter-plugins-dependencies
29 | .packages
30 | .pub-cache/
31 | .pub/
32 | /build/
33 |
34 | # Web related
35 | lib/generated_plugin_registrant.dart
36 |
37 | # Symbolication related
38 | app.*.symbols
39 |
40 | # Obfuscation related
41 | app.*.map.json
42 |
43 | # Android Studio will place build artifacts here
44 | /android/app/debug
45 | /android/app/profile
46 | /android/app/release
47 | # See https://www.dartlang.org/guides/libraries/private-files
48 |
49 | # Files and directories created by pub
50 | # If you're building an application, you may want to check-in your pubspec.lock
51 | pubspec.lock
52 |
53 | # Directory created by dartdoc
54 | # If you don't generate documentation locally you can remove this line.
55 | doc/api/
56 |
57 | # Avoid committing generated Javascript files:
58 | *.dart.js
59 | *.info.json # Produced by the --dump-info flag.
60 | *.js # When generated by dart2js. Don't specify *.js if your
61 | # project includes source files written in JavaScript.
62 | *.js_
63 | *.js.deps
64 | *.js.map
65 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: "ba393198430278b6595976de84fe170f553cc728"
8 | channel: "stable"
9 |
10 | project_type: app
11 |
12 | # Tracks metadata for the flutter migrate command
13 | migration:
14 | platforms:
15 | - platform: root
16 | create_revision: ba393198430278b6595976de84fe170f553cc728
17 | base_revision: ba393198430278b6595976de84fe170f553cc728
18 | - platform: ios
19 | create_revision: ba393198430278b6595976de84fe170f553cc728
20 | base_revision: ba393198430278b6595976de84fe170f553cc728
21 |
22 | # User provided section
23 |
24 | # List of Local paths (relative to this file) that should be
25 | # ignored by the migrate tool.
26 | #
27 | # Files that are not part of the templates will be ignored by default.
28 | unmanaged_files:
29 | - 'lib/main.dart'
30 | - 'ios/Runner.xcodeproj/project.pbxproj'
31 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
This application is built with Flutter. It uses adb behind the scenes to execute each and every user operation. The application comes bundled with adb, so you need not have adb installed and configured in path. I plan to bring it to linux after adding some functionality.
12 |As of now, you can only use it to access your internal storage either on your phone or on WSA.
17 | Current features:
18 |
As of now only the Windows installer is available (Although I plan to release it on linux and macOS (if I can get my hands on a Mac)). You may download it from this repo's releases which you can find here: [Releases](https://github.com/lightningbolt047/Android-Toolbox/releases). Or if you are very much interested to compile and run in linux, you may as well clone this repo and build it for yourself. Do note that the app might not work as intended in that case.
44 |No you don't! The app will notify you when there is an update available, and you may choose to download and install the update from within the app.
46 |There is support for updating to prerelease builds from within the app. Beware! Prerelease builds might not work as intended, and may even break updates (which might happen if I screw with the updater) in which case you will have to manually install the next update.
48 |Gone are the days when we could use USB storage and mount the device as a storage device in windows. Right now MTP is being used and it is painful to use especially when transferring large number of files. ADB pull/push seems to be way faster when working with large number of files (I got an almost 2x improvement using my highly unscientific method of testing speed)
50 |flutter doctor
.
71 | git clone https://github.com/lightningbolt047/Android-Toolbox.git
.
74 | flutter pub get
77 | flutter build [platform_name] --release
80 |