Commit Graph

151 Commits

Author SHA1 Message Date
Jonah Williams
6180a4c179
[flutter_tools] fix documentation, globals, and todos in the android codebase (#66980)
Cleans up some undocumented classes and re-organizes the AndroidDevices class to avoid the need for the static testing only member. Adds a script for tracking globals.
2020-10-05 15:47:57 -07:00
Jenn Magder
e8fbb43aac
Replace MockFile with memory file system files (#66941) 2020-09-29 17:50:33 -07:00
Jonah Williams
9bc533c9e5
[flutter_tools] do not error flutter doctor on missing AS/intellij plugins (#66782)
In cases where the Intellij/AS plugins are not located, display links to where they can be downloaded but do not surface an error. This should generally reduce confusion about whether the plugins are required for every installed IDE. For example, frequently users may only install AS so that they can install the Android SDK - or they may have multiple copies of Intellij installed.

For example: #66762
2020-09-29 16:51:28 -07:00
knaeckeKami
8e9e13449b
Teach the flutter tool how to find android output files if the flavor contains uppercase letters (#66687)
This changes the name of the generated output files on android in case a flavor with uppercase letters is used.
Previously, the lowercased flavor name would be used for the apk/aab file. Now, the flavor name is used as-is.
2020-09-25 15:54:55 -07:00
Daniel Edrisian
3a5e45404d
Updated androidMissingSdkInstructions error message (#65964) 2020-09-17 15:57:06 -07:00
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07:00
Jonah Williams
08e3ed9e2d
[flutter_tools] prevent creation of android devices if adb is not located (#65184)
More work to prevent current #2 crash issue on stable. If adb is not located do not list/create android devices.
2020-09-03 11:01:43 -07:00
Jonah Williams
d3515f5fb6
[flutter_tools] add analytics to code size, add more testing (#64578)
* [flutter_tools] add analytics to code size, add more testing

* add gradle case

* Update build_macos_test.dart

* move analytics to code size tooling

* Update analyze_size.dart

* fix analysis
2020-08-27 09:45:10 -07:00
Jonah Williams
401d401c59
[flutter_tools] reland: avoid creating Android Devices if AndroidSDK cannot be found (#64665)
Avoid creating AndroidDevice discovery if the SDK cannot be located. Previously the tool would use which/where adb, however this required us to handle the AndroidSdk class being potentially null - which required an additional layer of indirection around all access. Sometimes these were forgotten leading to NPEs.

In general, not much can be done with an Android Device if the actual SDK is not installed.

Reland with fixed code + tests for null SDK + adb in AndroidDeviceDiscovery
2020-08-27 09:44:31 -07:00
Jenn Magder
f5187535d5
Revert "[flutter_tools] avoid creating Android Devices if AndroidSDK cannot be found (#64524)" (#64602)
This reverts commit 47596c6203.
2020-08-25 17:55:58 -07:00
Jonah Williams
47596c6203
[flutter_tools] avoid creating Android Devices if AndroidSDK cannot be found (#64524)
Avoid creating AndroidDevice discovery if the SDK cannot be located. Previously the tool would use which/where adb, however this required us to handle the AndroidSdk class being potentially null - which required an additional layer of indirection around all access. Sometimes these were forgotten leading to NPEs.

In general, not much can be done with an Android Device if the actual SDK is not installed.
2020-08-25 11:08:27 -07:00
xster
a2e5e074ab
Move Android doctor SDK check to 29 and Cirrus images to 30 (#63517) 2020-08-20 11:06:32 -07:00
Jonah Williams
4954a46ff0
[flutter_tools] shrink API surface of Android SDK (#63867)
Attempt to simplify the Android SDK interface ahead of refactoring it. The locateAndroidSdk static method is called at startup to locate the android SDK, returning null if it cannot be found. These helper methods attempted to first look up the AndroidSDK if it was already null - which could only cover the case where someone installed the Android SDK while flutter was running (possibly through an IDE)
2020-08-19 14:44:56 -07:00
Jonah Williams
9225d8d5b7
[flutter_tools] move to fake_async, skip failing tests (#63536) 2020-08-11 19:36:05 -07:00
Jonah Williams
c86d090e6f
[flutter_tools] add --null-assertions flag for debugging with null safety (#63416) 2020-08-11 11:36:03 -07:00
Yuqian Li
22bf19cece
Add purge-persistent-cache option to run and drive (#62221)
Fixes https://github.com/flutter/flutter/issues/39526

Needs https://github.com/flutter/engine/pull/20013 to land and roll first.
2020-07-29 12:24:39 -07:00
Jonah Williams
59e0a2ec28
[flutter_tools] update device discovery constructors (#61640)
google3 callsites are updated, remove global lookup from constructor parameters.
2020-07-28 10:20:01 -07:00
Jonah Williams
859fce9010
[flutter_tools] add feature for iOS, android, and fuchsia (#61481)
Add feature flags for android, ios, and fuchsia (on by default). After updating the g3 rollers, the fuchsia feature will be turned off by default. Creates a simpler base type of feature flags for g3 to extend.

Updates android, ios, fuchsia workflows to use feature flags check.
Removes concept of stable artifacts and checks on flutter version.

Fixes #58999
#52859
#12768
2020-07-16 09:51:59 -07:00
Jonah Williams
b010f78e3a
[flutter_tools] fix typo in test code (#61548) 2020-07-15 09:21:24 -07:00
Jonah Williams
55e3770f3e
[flutter_tools] remove globals from base/android (#60480)
Remove unnecessary use of globals from base tests, and an android test. This changes the test to avoid bouncing through the global getters, which can lead to incorrectly cached zone values. Switches the memory filesystem implementation to the test implementation
2020-06-29 15:06:58 -07:00
Jenn Magder
6a2bc2617e
Replace ANDROID_HOME user messages with ANDROID_SDK_ROOT (#59867) 2020-06-22 18:43:04 -07:00
Jonah Williams
09f1764d14
[flutter_tools] android test cleanups (#59996)
Fixes several tests that were failing under tester. Minor style cleanups otherwise
2020-06-22 17:04:39 -07:00
Michael Goderbauer
e48b7e99cd
More word substiturions (#59497) 2020-06-19 13:43:02 -07:00
duzenko
c79de78237
LG debugging/logcat fixed (#58670) 2020-06-15 09:35:07 -07:00
Ian Hickson
6202476691
Remove license statements in template files. (#57268) 2020-06-15 09:30:05 -07:00
Jenn Magder
886313393f
Support work profiles and multiple Android users for run, install, attach, drive (#58815) 2020-06-08 11:28:02 -07:00
Jonah Williams
4f88ed1d3c
[flutter_tools] only restrict devices based on arch + buildMode, not emulator status (#58887)
instead of restricting profile/release mode based on whether the tool thinks the device is an emulator, restrict based on the device target architecture and the requested build mode. Notably, this enables release mode on x86_64 Android emulators, but not x86 emulators since we do not support that as an AOT target.

This does not add release mode support for simulators, since this requires us to build and upload artifacts for simulator/x86_64
2020-06-08 11:20:15 -07:00
Jonah Williams
ba847d54f0
[flutter_tools] validate android arch and build number (#57830) 2020-05-27 10:10:51 -07:00
Jonah Williams
f640ad6914
[flutter_tools] ensure emulator command does not crash with missing avdmanager (#57703) 2020-05-27 10:10:30 -07:00
Jonah Williams
359daf4f73
[flutter_tools] reland: remove globals from android device/testing (#57614) 2020-05-20 13:21:22 -07:00
Jonah Williams
5e33ecee46
Revert "[flutter_tools] remove globals/context for android testing (#57445)" (#57611)
This reverts commit 602d8baf34.
2020-05-19 13:06:14 -07:00
Jonah Williams
602d8baf34
[flutter_tools] remove globals/context for android testing (#57445) 2020-05-19 12:37:07 -07:00
Jonah Williams
bd47262183
[flutter_tools] fix period in URL for androidX incompat (#57182) 2020-05-14 12:32:03 -07:00
Jonah Williams
a801496701
[flutter_tools] allow adb to fail to unforward without crashing (#57173) 2020-05-14 12:27:01 -07:00
Jonah Williams
7f400af35a
[flutter_tools] expand Regexp log match to include more AndroidRuntime failures (#56943) 2020-05-12 07:35:02 -07:00
Luke Cheng
793e6a48a1
typo fix on the FLUTTER_STORAGE_BASE_URL usage (#56685) 2020-05-09 21:14:01 -07:00
Jenn Magder
0a4f6cdef0
Add split-debug and obfuscation to build aar (#56342) 2020-05-07 18:14:02 -07:00
xster
f6b47a5f35
let the embedding maven engine dependency reference the storage proxy (#56164) 2020-05-07 11:36:02 -07:00
Zachary Anderson
6f0ed5e142
[flutter_tools] Restore base/platform.dart (#56410) 2020-05-06 08:15:39 -07:00
Jenn Magder
415401102c
Gradle artifacts and tasks tests without context (#56335) 2020-05-04 18:38:14 -07:00
Jenn Magder
06fcf5146b
Inject logger and fs into printHowToConsumeAar, test without context (#56331) 2020-05-04 18:38:00 -07:00
Jenn Magder
c587d73ec6
Use androidSdk globals variable everywhere (#56330) 2020-05-04 17:48:10 -07:00
Jonah Williams
bd6ccb606a
[flutter_tools] android device stopApp handles null apk (#55990)
The resident runner does not check if the ApplicationPackage is null when trying to stop the app. Update AndroidDevice.stopApp to handle this case by returning false.

The package will be null when flutter attach is used.
2020-04-29 16:31:42 -07:00
Jonah Williams
9cb9bfbd7c
[flutter_tools] use new output location for the apk (#54328) 2020-04-13 15:55:02 -07:00
Emmanuel Garcia
54dba4cd59
Don't import plugins that don't support android in settings.gradle (#54407) 2020-04-12 08:55:03 -07:00
Christopher Fujino
03c566768b
[flutter_tools] Remove fromPlatform from tests (#54152) 2020-04-10 16:51:28 -07:00
Jonah Williams
98e43bc6ae
[flutter_tools] ensure the tool can find SDK manager on windows (#54133) 2020-04-06 13:41:14 -07:00
Alexandre Ardhuin
f5a9902577
enable avoid_equals_and_hash_code_on_mutable_classes (#52507) 2020-04-06 13:36:01 -07:00
Jenn Magder
ad07c4041a
Delete unused NDK location checks (#53694) 2020-03-31 14:53:49 -07:00
Mubarak Imam
df90bb5fd6
fix issue with multiple java runtimes on macOS (#52474) 2020-03-31 11:36:01 -07:00