Commit Graph

441 Commits

Author SHA1 Message Date
John McCutchan
e908655207 Remove legacy restart support (#6801) 2016-11-10 11:12:59 -08:00
Dan Rubel
0b49d81cb2 flutter devices/doctor report Android (and iOS) version (#6545)
* refactor device descriptions method - easier to add columns
* show device SDK version
2016-10-27 09:07:21 +01:00
Devon Carew
b00e6cda66 tweak the device description for emulators (#6214) 2016-10-04 20:29:10 -07:00
Dan Rubel
55bc771f58 flutter devices indicate which are simulators (#6200) 2016-10-04 13:07:42 -04:00
John McCutchan
ca8070f904 Fix flutter run --use-application-binary (#6106)
When using --use-application-binary:

- [x] Stop flutter run from checking for a pubspec.yaml in current directory
- [x] Stop flutter run from invoking pub get
- [x] Set 'shouldBuild' based on --use-application-binary
- [x] Stop requiring 'lib/main.dart' to be present before running.
- [x] Stop building an FLX when launching on Android
2016-09-28 08:46:16 -07:00
Dan Rubel
023b7de11f show device list in flutter doctor output (#5697)
* show device list in flutter doctor output
fixes https://github.com/flutter/flutter/issues/5625
2016-09-01 17:55:16 -04:00
Dan Rubel
ef79e7a1c0 improve device matching error message (#5693)
* improve device matching error message
fixes https://github.com/flutter/flutter/issues/5675
2016-09-01 12:37:58 -04:00
Dan Rubel
83bf5d10c0 fix getDeviceById to match exact name (#5657)
* fix getDeviceById to match exact name
fixes https://github.com/flutter/flutter/issues/5508
2016-08-30 14:11:54 -04:00
John McCutchan
cab7c8d7b3 Rename Observatory to VMService (#5349) 2016-08-11 13:14:13 -07:00
John McCutchan
728e2a5689 Add FlutterView and ViewManager and hook them into the ResidentRunner. (#5345)
- [x] Refactor view support into separate classes.
- [x] Make the hot runner grab the main view and call runFromSource on it.
- [x] Remove Device.needsDevFS (because it is always true).
2016-08-11 12:56:47 -07:00
John McCutchan
0de691621b Add --hot mode for flutter run 2016-07-20 14:38:25 -07:00
Devon Carew
ec752d813d send ext.flutter.debugDumpApp; ext.flutter.reassemble (#4810)
* send ext.flutter.debugDumpApp; ext.flutter.reassemble

* expose debugDumpRenderTree
2016-07-04 11:21:56 -07:00
Chinmay Garde
9782d97faa Enable launching applications on the iOS device with observatory and diagnostics server connected. (#4424) 2016-06-14 11:47:51 -07:00
Devon Carew
b6c3ae37f6 send supportsRestart flag when starting an app (#4513)
* send supportsRestart flag when starting an app

* remove unused imports

* review comments
2016-06-13 13:16:20 -07:00
Devon Carew
3ba17136b7 add a restart command to the daemon protocol (#4385)
* refactor the --resident run option into a separate file

* update daemon to run --resident apps

* re-plumbing daemon start

* send app logs

* update tests

* review changes

* fix test runner

* remove PackageMap.createGlobalInstance; rely on the ctor

* review comments
2016-06-07 12:13:35 -07:00
Jason Simmons
00c7734c8b Tools daemon handlers for discovering apps and forwarding device ports (#4324) 2016-06-02 14:00:27 -07:00
Todd Volkert
51d4ab3324 Fix install for iOS simulator, and add ability to uninstall (#4223) 2016-05-27 11:05:10 -07:00
Devon Carew
ec7517766c Flutter run restart (#4105)
* working on making a faster flutter run restart

* clean up todos; fire events on isolate changes

* use the Flutter.FrameworkInitialization event

* review comments
2016-05-26 15:26:14 -07:00
Adam Barth
b1b6271683 Use "call" instead of "invoke" (#4177)
For consistency.

Fixes #4142
2016-05-24 17:53:04 -07:00
Chinmay Garde
66fee3a622 Wire up ios-profile and ios-release. Switching between debug, profile and release starts the build process from scratch. (#4063) 2016-05-23 12:58:42 -07:00
pq
1a6f499bc1 Cleanup dangling comment references.
Quick pass at fixing a few dangling references as revealed by the new `comment_references` lint (https://github.com/dart-lang/linter/issues/240).

There's a bunch more to do here before we can turn it on by default (~430 lints as of now).  Many of them are a simple matter of adding an import (e.g., `dart:async` for library docs that reference `Future`) but others will require a bit of thought.  Probably best done by the folks writing the code. :)
2016-05-19 10:21:38 -07:00
Jason Simmons
c192a7e4ca Replace the checked flag in DebuggingOptions with the build mode (#3901)
This also fixes some related problems affecting "flutter run":
  * FLXes built during AndroidDevice.startApp need to match the build mode
  * APKs should always be rebuilt if the build mode uses AOT compilation
2016-05-17 12:38:25 -07:00
Devon Carew
40c0d6ea12 Consolidate observatory code (#3892)
* rename service_protocol.dart to protocol_discovery.dart

* add a wrapper around the obs. protocol

* use json-rpc in run

* consolidate obs. code; implement flutter run --benchmark

* review comments
2016-05-12 18:15:23 -07:00
Jason Simmons
a590ee2671 Remove BuildConfigurations (#3879)
Artifacts from local engine builds will be found based on the --local-engine flag
2016-05-12 12:22:15 -07:00
Jason Simmons
0f53f7966b Remove Toolchain and extend ToolConfiguration to locate host tools such as sky_snapshot (#3870)
Host tools can be found in the artifact cache directory for the host platform.
If a developer wants to use a local engine build instead, then provide an
--engine-build flag that selects the specific engine build variant.
2016-05-11 15:47:26 -07:00
Devon Carew
067715e302 Send exit for flutter run --resident (#3829)
* send ext.flutter.exit

* listen for help restart, quit

* refactor into a separate class
2016-05-10 13:47:00 -07:00
Devon Carew
a999366482 remove the analyze --benhcmark-expected option (#3755) 2016-05-05 14:26:21 -07:00
Devon Carew
c9010c91f6 fix analysis errors (#3677)
* fix analysis errors

* review comments; fix test

* re-add an export for debugPrint
2016-05-03 09:09:00 -07:00
Yegor
c2cccc7b3b [tools] teach flutter run to get startup trace info (#3589) 2016-04-27 17:58:20 -07:00
Devon Carew
b0dca79671 Flutter run (#3553)
* rework flutter run

* fix npe with --debug-port

* connect to obs and exit when that conneciton closes

* update todos
2016-04-27 14:43:42 -07:00
Devon Carew
ace1a64bfd don't print installing device twice (#3520) 2016-04-25 09:25:47 -07:00
Devon Carew
f132acaf1d use the new cache code to locate more artifacts (#3361)
* use the new cache code to locate more artifacts

* add todo

* review comments
2016-04-15 21:08:03 -07:00
Devon Carew
7ad1e38eac Fix windows crash (#3236)
* better messaging about windows support

* fix lints
2016-04-11 08:34:01 -07:00
Jason Simmons
9d022ed26d Add a command that can capture a Skia picture of a Flutter frame and send it to a file or skiaserve debugger (#3165) 2016-04-07 12:33:11 -07:00
Devon Carew
15b9e1ddb0 add a screenshot command 2016-03-25 22:01:32 -07:00
Hixie
797e27edd3 Add @override annotations to flutter framework 2016-03-14 14:02:26 -07:00
Ian Hickson
bedd8e9131 Merge pull request #2650 from Hixie/always_always_specify_types
Even more types
2016-03-14 10:44:05 -07:00
Ian Hickson
d745e20853 Even more types 2016-03-14 09:41:54 -07:00
Devon Carew
4daee0cc0d misc tool ui cleanup 2016-03-14 09:41:00 -07:00
Devon Carew
5ad6a57007 remove some references to DeviceStore 2016-03-11 11:25:03 -08:00
John McCutchan
5e140b7533 Add DevicePortForwarder with adb fix 2016-03-11 09:26:17 -08:00
Ian Hickson
1b9cd52081 Enable ALL THE LINTS
Well, all the easy ones, anyway.

For some reason `// ignore:` isn't working for me so I've disabled
lints that need that. Also disabled those that require a ton of work
(which I'm doing, but not in this PR, to keep it reviewable).

This adds:
- avoid_init_to_null
- library_names
- package_api_docs
- package_names
- package_prefixed_library_names
- prefer_is_not_empty
- sort_constructors_first
- sort_unnamed_constructors_first
- unnecessary_getters_setters
2016-03-10 23:15:31 -08:00
Eric Seidel
37f0b5dd98 Revert "Add DevicePortForwarder" 2016-03-10 14:23:39 -08:00
John McCutchan
131359f4bc Add DevicePortForwarder 2016-03-10 12:49:07 -08:00
John McCutchan
8803cecea1 Refactor DeviceLogReader 2016-03-08 10:38:22 -08:00
Devon Carew
022047f5eb remove the isConnected() method from device 2016-02-26 13:23:48 -08:00
Yegor Jbanov
677e63b79d decouple flutter drive from flutter start
flutter start's method of finding devices to run the app on is not suitable for flutter drive.

This commit also refactors several tool services to allow mocking in unit tests.
2016-02-26 10:18:24 -08:00
Devon Carew
488e5dcd6c log for specific adb devices 2016-02-21 00:23:13 -08:00
Devon Carew
67046f933d add the ability to start and stop device polling 2016-02-20 22:00:11 -08:00
Chinmay Garde
d797995632 tvOS, watchOS and old simulators are blacklisted in the tools 2016-02-19 16:29:41 -08:00
Devon Carew
d5a6fceee5 add a summary option to the doctor class 2016-02-17 09:33:45 -08:00
Devon Carew
4ed79454ac wait for flutter start to return until the obs. port is available 2016-02-11 10:18:39 -08:00
Devon Carew
2dbceafbc6 introduce globals scoped to the app's context 2016-02-09 22:03:13 -08:00
Devon Carew
9e6d45cb03 general refactoring around device management
remove the device factory methods as well as the device cache
2016-02-06 11:49:48 -08:00
Devon Carew
b780c07622 add --start-paused,--debug-port flags 2016-02-02 11:38:56 -08:00
Devon Carew
78e05884ed refactor flutter logs 2016-02-01 12:56:46 -08:00
Devon Carew
2065483a1c make --device-id work with ios devices too 2016-01-28 14:43:57 -08:00
Devon Carew
d7fbf5302d use status(), error(), and trace() for logging
rename to printTrace(), printStatus(), and printError()
2016-01-28 12:44:17 -08:00
Devon Carew
7ac4e6248f refactor the list command 2016-01-27 14:03:41 -08:00
Chinmay Garde
4bd35cdbe9 Minor update to the message logged when multiple devices are connected with no device ID specified 2016-01-26 12:10:46 -08:00
Devon Carew
5bce2fbdec refactor platform specific code out of device.dart
remove device type specific checks
2016-01-22 10:51:49 -08:00
Devon Carew
5daf58ce1e refactor commands to move out re-usable functionality 2016-01-21 09:38:46 -08:00
Devon Carew
a14c2d219e parse out the ios simulator device name 2016-01-20 22:01:57 -08:00
Devon Carew
8bb8e1d9e7 add device notifications to the daemon command 2016-01-19 21:29:20 -08:00
Chinmay Garde
477530f309 Merge pull request #1249 from chinmaygarde/master
First take on `flutter start` for iOS devices
2016-01-19 14:59:05 -08:00
Adam Barth
7019e92f38 Skip "list of devices" header from adb
Sometimes "adb devices" prints a header. We should skip over the header
instead of complaining that we don't recognize it.

Fixes #1293
2016-01-18 11:26:29 -08:00
Chinmay Garde
c8672a40c1 Fix Dart analyzer warning 2016-01-15 11:51:45 -08:00
Chinmay Garde
602a35617a Update flutter start for iOS simulator 2016-01-15 11:51:45 -08:00
Chinmay Garde
e98b7f4c48 Make picking of either an iOS or Android device from a configuration follow a common code path 2016-01-15 11:51:45 -08:00
Chinmay Garde
fbef955cb9 Update IOSDevice::startApp for precompilation 2016-01-15 11:51:45 -08:00
Devon Carew
4ad838f65b don't listen for chromium messages to the adb log 2016-01-12 19:09:12 -08:00
Adam Barth
3615827f0e flutter start crashes when port 8181 is in use
Catch the error and log a warning.

Fixes #1050
2016-01-07 09:56:44 -08:00
Devon Carew
854f9f717d Merge pull request #1090 from devoncarew/log_stderr
have flutter logs log stderr
2016-01-06 13:39:11 -08:00
Eric Seidel
0d783718ba Teach flutter trace stop to use time on the device.
This is yet another hack on top of adb log handling.
This is fragile, but w/o this if you device time is out
of sync, you can't trace.

@abarth
2016-01-06 13:29:32 -08:00
Devon Carew
ed215fb842 have flutter logs log stderr 2016-01-06 13:29:24 -08:00
Devon Carew
782f505fb8 clear logs on app launch 2016-01-05 11:02:49 -08:00
Devon Carew
fc0b18c7f1 update the min api level in the generated android manifest; use constants for the android version name 2015-12-30 21:37:39 -08:00
Adam Barth
fd68f08b7c Recognize offline status in adb
Fixes #858
2015-12-10 11:16:40 -08:00
Eric Seidel
7d4feaa71a Workaround logcat -c not working 2015-12-03 16:13:10 -08:00
Eric Seidel
5e2bc90daf Make it possible to specify the saved path for trace --stop
@chinmaygarde
2015-12-03 14:44:59 -08:00
Eric Seidel
4eee2e4c1d Add support for passing --trace-startup on Android
iOS takes a different codepath and will need more work.

@chinmaygarde
2015-12-03 12:23:52 -08:00
Eric Seidel
5b2cc1ae67 Make trace --stop fail if the adb pull fails.
@chinmaygarde
2015-12-02 11:27:27 -08:00
Adam Barth
9662d49e12 Clean up code organization in flutter_tools
1) Moved basic utility code into base/ directory to make it clear which code
   doesn't depend on Flutter-specific knowldge.
2) Move the CommandRunner subclasses into a runner/ directory because these
   aren't commands themselves.
2015-11-28 21:16:55 -08:00
Devon Carew
e36b07f7b5 print logging timestamps to profile app launch 2015-11-25 12:47:25 -08:00
Adam Barth
860547c1d4 Add support for system-level routing
Now you can supply a route argument to flutter start:

  $ flutter start --route /foo

which will start the app at /foo instead of /.
2015-11-24 16:13:20 -08:00
Adam Barth
b0470e31fb Improve unauthorized regexp
Fixes https://github.com/flutter/flutter.github.io/issues/101
2015-11-23 19:09:43 -08:00
Jason Simmons
854db78466 Build APKs without a local copy of the engine sources 2015-11-20 16:22:18 -08:00
Eric Seidel
847df52860 Point to Github issues instead of flutter.io
Fixes #489.

@sethladd
2015-11-19 10:29:29 -08:00
Adam Barth
3027497f85 Handle adb error cases more gracefully
We now print a sensible message if we can't find `dart` or `adb`. Also, we
print a sensible message if the device isn't authorized.

Fixes #380
Fixes #358
2015-11-17 23:23:30 -08:00
Collin Jackson
8c195c074f Now that #371 is fixed, we no longer need to check logs for "sky" 2015-11-16 14:34:54 -08:00
Nathan Kerr
d36af446f2 Change Regex to correctly match against my device.
Since we don't care about the port, just allow any characters between the spaces after the device ID and the product.

Running Windows 10, running "adb devices -l" with my device attached to the computer gives:
FA34MW904146           device product:cm_m7 model:One device:m7

Which wasn't being matched correctly (no info on USB port).
2015-11-14 11:25:29 -08:00
Hixie
9c6e96a3e8 Remove constructor tear-offs
Some of our workflows have no way to silence analyzer warnings, and the
analyzer doesn't yet support constructor tear-offs, so pretend that we
can't use them for now.
2015-11-12 12:39:02 -08:00
Hixie
a0227cab15 flutter analyze command
Other changes in this patch:
- Make the 'flutter' tool say "Updating flutter tool..." when it calls
  pub get, to avoid confusion about what the pub get output is about.
- Make the bash flutter tool call pub get when the revision has
  changed. (This was already happening on Windows.)
- Fix a raft of bugs found by the analyzer.
- Fix some style nits in various bits of code that happened to be near
  things the analyzer noticed.
- Remove the logic in "flutter test" that would run "pub get", since
  upon further reflexion it was determined it didn't work anyway.
  We'll probably have to add better diagnostics here and say to run the
  updater script.
- Remove the native velocity tracker script, since it was testing code
  that has since been removed.

Notes on ignored warnings:
- We ignore warnings in any packages that are not in the Flutter repo or
  in the author's current directory.
- We ignore various irrelevant Strong Mode warnings. We still enable
  strong mode because even though it's not really relevant to our needs,
  it does (more or less accidentally) catch a few things that are
  helpful to us.
- We allow CONSTANTS_LIKE_THIS, since we get some of those from other
  platforms that we are copying for sanity and consistency.
- We allow one-member abstract classes since we have a number of them
  where it's perfectly reasonable.
- We unfortunately still ignore warnings in mojom.dart autogenerated
  files. We should really fix those but that's a separate patch.
- We verify the actual source file when we see the 'Name non-constant
  identifiers using lowerCamelCase.' lint, to allow one-letter variables
  that use capital letters (e.g. for physics expressions) and to allow
  multiple-underscore variable names.
- We ignore all errors on lines that contain the following magic
  incantation and a "#" character:
    // analyzer doesn't like constructor tear-offs
- For all remaining errors, if the line contains a comment of the form
    // analyzer says "..."
  ...then we ignore any errors that have that "..." string in them.
2015-11-12 12:23:29 -08:00
Devon Carew
0292180075 also listen for flutter in the adb logs 2015-11-11 21:12:14 -08:00
Devon Carew
3c943d79ec fix an issue parsing 'adb devices' output 2015-11-11 14:14:12 -08:00
Adam Barth
da0a12c611 Rename sky_tools to flutter_tools 2015-11-10 13:20:35 -08:00
Devon Carew
20c2aa1690 fix a ws issue in the sample app 2015-11-10 08:48:03 -08:00
Ian Hickson
3419068cb3 Port test logic to Dart. 2015-11-09 09:00:49 -08:00
Devon Carew
3b9862a52c support older android devices (>= 16) 2015-11-07 21:55:21 -08:00
Jeff R. Allen
c8c2d23f26 Avoid use of run-as
Issue #1988 results from run-as not working on some phones,
because of Android issue 58373.

This change removes the need for run-as for running
"flutter start". It is still needed for tracing.
2015-11-07 15:28:01 +06:00
Adam Barth
113500206a Remove the --http option 2015-11-06 20:17:24 -08:00
Jason Simmons
6e0b59fc09 Add a flag that selects which Android device ID is the target for Flutter commands 2015-11-05 15:53:32 -08:00
Adam Barth
297e9c33fa Support Jelly Bean 2015-11-04 08:57:33 -08:00
Devon Carew
7d0a298b0b start a daemon command
wrap up first daemon implementation
2015-11-03 15:58:02 -08:00
Devon Carew
5dc4a7cce4 abstract some OS operations 2015-11-02 13:07:56 -08:00
Adam Barth
94b472ff67 Add a --no-http flag to start command
This flag builds a local FLX file and pushes that to the device instead of
using an HTTP server.
2015-10-31 12:18:03 -07:00
Devon Carew
48c3d01587 fix the stop command 2015-10-30 13:54:39 -07:00
Todd Volkert
a57109beba Wait for sky server to start before starting device
Instead of just waiting for the sky server process to start
before we start the activity on the device, this causes us to
wait for the sky server to actually start listening on its port

Fixes #141
2015-10-29 14:19:15 -07:00
Devon Carew
678af9c045 fix some issues found by strong mode 2015-10-28 13:42:46 -07:00
Devon Carew
5dbeb8f018 fix tests on windows
remove a runInShell arg on windows when launching pub
2015-10-23 22:44:56 -07:00
Nathan Kerr
bfeaaa8fb7 Web paths should always replace \ with / 2015-10-23 14:04:09 -07:00
Nathan Kerr
54e45e2b56 Don't rely on external shasum program to calculate sum of the APK.
Windows has no direct way to kill a process based on port. Uses netstats and loops through the results to find the correct process to kill.

Also modify Process.run for the server to runInShell if on Windows.

Style nits.
2015-10-23 13:06:26 -07:00
Devon Carew
bb1da703a6 return exit codes on failures 2015-10-17 11:50:23 -07:00
Adam Barth
047038b95a Support non-rooted Android devices
Now we use a debuggable APK and chmod the installation directory to be world
readable/writable.

Fixes https://github.com/flutter/engine/issues/126
2015-10-14 13:57:55 -07:00
Adam Barth
9c4835100b Handle the case of a non-connected Android device better
Previous we dumped a stack trace. Now we produce a more sensible error.
2015-10-12 11:05:09 -07:00
Adam Barth
0e06feee01 Add some print statements to smooth first run
This patch adds a couple print statements to explain why the first run of
`flutter start` takes a while. (We need to download the APK and install it on
the device.)
2015-10-12 01:33:03 -07:00
Adam Barth
8df5e9f738 Polish up some error handling
This patch improves the error handling for several arbitrary issues I
encountered while experimenting with the tool this evening.
2015-10-12 00:55:13 -07:00
Adam Barth
bdd20661d7 Teach sky_tools about prebuilt artifacts
This patch makes `flutter start` work without a clone of the engine git
repository. Making this work pulled a relatively large refactor of how the
commands interact with application packages and devices. Now commands that want
to interact with application packages or devices inherit from a common base
class that holds stores of those objects as members.

In production, the commands download and connect to devices based on the build
configuration stored on the FlutterCommandRunner. In testing, these fields are
used to mock out the real application package and devices.
2015-10-12 00:03:55 -07:00
Ian Fischer
a6a3f212ee IOSSimulator implementation.
Also fixes some minor bugs with iOS and Android interactions.
2015-10-11 19:36:06 -07:00
Ian Fischer
ae32410995 Get iOS devices working on Mac if you specify sky-src-path. 2015-10-09 16:23:33 -07:00
Ian Fischer
f4ec459c23 Add support for log commands on iOS. 2015-10-08 15:10:25 -07:00
Ian Fischer
43aaf50e05 Merge pull request #78 from iansf/ios_start
Add implementation of start and stop commands for iOS.
2015-10-07 15:45:34 -07:00
Ian Fischer
844678ddce Add implementation of start and stop commands for iOS. 2015-10-07 15:44:02 -07:00
Ian Fischer
72cc4d6fde Don’t give a scary error about not being able to run on Android if there’s no Android device connected. 2015-10-07 15:29:13 -07:00
Ian Fischer
7990e874df Just log, don’t exit when the user is missing access to a command. Prevents inappropriately-failing tests. 2015-10-06 16:19:06 -07:00
Ian Fischer
12192d00c1 Beginning implementation of IOSDevice. Implements list and install.
Also update tests to be compatible with the presence of iOS and add tests for list and install.
2015-10-06 11:46:29 -07:00
Ian Fischer
d07ca92995 Basic sky_tools list command, Android implementation, and test. 2015-10-01 08:43:57 -07:00
Ian Fischer
b8085cd033 Add sky_tools trace command, Android implementation, and basic test. 2015-09-30 14:02:29 -07:00
Ian Fischer
00bed774ce Add listen command and basic test, and don’t do unnecessary repeated work when listening or poking the android server. 2015-09-29 17:10:47 -07:00
Ian Fischer
a6635489f5 Add optional prefix to runCommandAndStreamOutput for logs commands. 2015-09-29 14:15:29 -07:00
Ian Fischer
5e11889160 Add logs command and android implementation. 2015-09-29 11:51:33 -07:00
Ian Fischer
61bfe5ce84 Unify process_wrapper and process to have the same api and logging styles.
Also add unchecked runSync wrapper and use it in places where command failures don’t matter.
2015-09-29 10:30:13 -07:00
Ian Fischer
8cac55a4e2 Add sky_tools start command and associated android support. 2015-09-29 09:54:10 -07:00
Ian Fischer
fa59233746 Add stop command and supporting Android support. 2015-09-25 16:16:19 -07:00
Ian Fischer
cae053c353 Refactor all the commands to be Commands from the Args package. Also use CommandRunner for the top-level command. 2015-09-24 15:51:23 -07:00
Ian Fischer
0cc758d24e Set up plumbing for getting relevant paths to the right places without too much global state.
`dart bin/sky_tools.dart --debug --sky-src-path=/path/to/sky/src/ install` now works.
2015-09-22 11:17:39 -07:00
Adam Barth
76a51409c5 Remove stray }
This stray line was causing an analyzer error.
2015-09-16 14:35:09 -07:00
Ian Fischer
c5ea40980a Most of the infrastructure needed to install an APK on Android. 2015-09-16 12:56:10 -07:00
Ian Fischer
b72d67a8fe Private setup methods for AndroidDevice. 2015-09-15 17:20:49 -07:00
Ian Fischer
ab441685e2 Test install command 2015-09-11 15:26:55 -07:00
Ian Fischer
81746e980c Initial sketch of install command and what devices look like. 2015-09-11 12:44:47 -07:00