title: Flutter Does Not Recognize Android SDK Build-Tools 25.0.3
body: <p>Literary, just started looking at Flutter, installed the Flutter plug in in Android Studio 3.0.1, restarted Android Studio, created a simple hello world app according to Flutter documentation.</p>
  
  <p>This also installed Flutter SDK in <code>C:\flutter</code>, so app creation process selected that location for SDK location correctly.</p>
  
  <p>However, running app (on emulator), shows me this error</p>
  
  <pre><code>Launching lib\main.dart on Android SDK built for x86 in debug mode...
  Initializing gradle...
  Resolving dependencies...
  Finished with error: 
  
  * Error running Gradle:
  Unable to download needed Android SDK components, as the following licenses have not been accepted:
  Android SDK Build-Tools 25.0.3
  
  To resolve this, please run the following command in a Terminal:
  flutter doctor --android-licenses
  </code></pre>
  
  <p>But when I look in Android SDK, every Build-Tools from <code>25.0.0 to 27.0.1</code> is installed including <code>25.0.3.</code></p>
  
  <p>Running <code>flutter doctor --android-licenses</code> from terminal as suggested above shows this error</p>
  
  <pre><code>C:\Users\user\Desktop\work\flutter\first_flutter_app&gt;doctor --android-licences
  'flutter' is not recognized as an internal or external command,
  operable program or batch file.
  </code></pre>
  
  <p><strong>UPDATE</strong></p>
  
  <p>Then I added my <code>C:\flutter\bin</code> to system path and tried again issuing</p>
  
  <pre><code>flutter doctor --android-licenses
  </code></pre>
  
  <p>but got error "<code>Unknown argument --licenses</code>".  </p>
  
  <p>Next I run:</p>
  
  <pre><code>flutter upgrade
  </code></pre>
  
  <p>this completed, too but running my app still produced same error re license issue.  </p>
  
  <p><code>flutter upgrade</code> shows following output:</p>
  
  <pre><code>Running flutter doctor...
  [√] Flutter (on Microsoft Windows [Version 10.0.15063], locale en-US, channel alpha)
      • Flutter at C:\flutter
      • Framework revision d957c8f040 (4 days ago), 2017-11-30 13:29:59 -0800
      • Engine revision 77d8acb9be
      • Tools Dart version 1.25.0-dev.11.0
      • Engine Dart version 2.0.0-dev.9.0
  
  [√] Android toolchain - develop for Android devices (Android SDK 25.0.2)
      • Android SDK at C:\Program Files (x86)\Android\android-sdk
      • Unable to locate Android NDK.
  
      • Unable to locate compiler in Android NDK.
  
      • Platform android-25, build-tools 25.0.2
      • ANDROID_HOME = C:\Program Files (x86)\Android\android-sdk
      • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
      • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
  
  [√] Android Studio (version 3.0)
      • Android Studio at C:\Program Files\Android\Android Studio
      • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
  
  [√] Connected devices
      • Android SDK built for x86 • emulator-5554 • android-x86 • Android 7.1.1 (API 25) (emulator)
  </code></pre>
  
  <p>I literaly keep going in circles with this.  Here is what happens when I run my app from terminall using flutter (above I explained what happens if I run it from the IDE:</p>
  
  <pre><code>C:\Users\user\Desktop\work\flutter\flutter_app_myapp&gt;flutter run
  Launching lib/main.dart on Android SDK built for x86 in debug mode...
  Initializing gradle...                                0.7s
  Resolving dependencies...                                |
  
  * Error running Gradle:
  Unable to download needed Android SDK components, as the following licenses have not been accepted:
  Android SDK Build-Tools 25.0.3
  
  To resolve this, please run the following command in a Terminal:
  flutter doctor --android-licenses                                                                                                        /
  C:\Users\user\Desktop\work\flutter\flutter_app_myapp&gt;&gt;flutter doctor --android-licenses
  Error: Unknown argument --licenses
  </code></pre>
  
  <p><strong>UPDATE2</strong></p>
  
  <p>Output of <code>flutter -v doctor --android-licenses</code></p>
  
  <pre><code>C:\Users\user\Desktop\work\flutter\flutter_app_dino&gt;flutter -v doctor --android-licenses
  [  +23 ms] [C:\flutter\] git rev-parse --abbrev-ref --symbolic @{u}
  [  +45 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
  [        ] origin/alpha
  [        ] [C:\flutter\] git rev-parse --abbrev-ref HEAD
  [  +20 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
  [        ] alpha
  [        ] [C:\flutter\] git ls-remote --get-url origin
  [  +19 ms] Exit code 0 from: git ls-remote --get-url origin
  [        ] https://github.com/flutter/flutter.git
  [        ] [C:\flutter\] git log -n 1 --pretty=format:%H
  [  +20 ms] Exit code 0 from: git log -n 1 --pretty=format:%H
  [        ] d957c8f040902aa3fd44b367150bde56b64cec83
  [        ] [C:\flutter\] git log -n 1 --pretty=format:%ar
  [  +21 ms] Exit code 0 from: git log -n 1 --pretty=format:%ar
  [        ] 5 days ago
  [ +222 ms] C:\Program Files (x86)\Android\android-sdk\tools\bin\sdkmanager.bat --licenses
  **Error: Unknown argument --licenses**
  Usage:
    sdkmanager [--uninstall] [&lt;common args&gt;] \
      [--package_file &lt;package-file&gt;] [&lt;packages&gt;...]
    sdkmanager --update [&lt;common args&gt;]
    sdkmanager --list [&lt;common args&gt;]
  
  In its first form, installs, or uninstalls, or updates packages.
      &lt;package&gt; is a sdk-style path (e.g. "build-tools;23.0.0" or
               "platforms;android-23").
      &lt;package-file&gt; is a text file where each line is a sdk-style path
                     of a package to install or uninstall.
      Multiple --package_file arguments may be specified in combination
       with explicit paths.
  In its second form (with --update), currently installed packages are
      updated to the latest version.
  In its third form, all installed and available packages are printed out.
  
  Common Arguments:
      --sdk_root=&lt;sdkRootPath&gt;: Use the specified SDK root instead of the SDK containing this tool
      --channel=&lt;channelId&gt;: Include packages in channels up to &lt;channelId&gt;.
                             Common channels are:
                             0 (Stable), 1 (Beta), 2 (Dev), and 3 (Canary).
  
      --include_obsolete: With --list, show obsolete packages in the
                          package listing. With --update, update obsolete
                          packages as well as non-obsolete.
      --no_https: Force all connections to use http rather than https.
      --proxy=&lt;http | socks&gt;: Connect via a proxy of the given type.
      --proxy_host=&lt;IP or DNS address&gt;: IP or DNS address of the proxy to use.
      --proxy_port=&lt;port #&gt;: Proxy port to connect to.
  
  * If the env var REPO_OS_OVERRIDE is set to "windows",
    "macosx", or "linux", packages will be downloaded for that OS.
  [ +152 ms] "flutter doctor" took 301ms.
  [ +198 ms] ensureAnalyticsSent: 196ms
  [   +2 ms] exiting with code 0
  </code></pre>
  
  <p>However, if I navigate to my Android\sdk\tools\bin, I do have sdkmanager and issuing <code>sdkmanager --licenses</code> from there shows:</p>
  
  <pre><code>C:\Users\user\AppData\Local\Android\sdk\tools\bin&gt;sdkmanager --licenses
  All SDK package licenses accepted.======] 100% Computing updates...
  </code></pre>
  
  <p>So, it looks like Flutter is full of bugs at the moment, not sure if it is worth spending time with it at this alpha stage, as you can see, I have several circular problems where it says it cannot find a command, but the command exists.  I followed exact installation steps and if it takes days to figure it out and still have no solution, I'd say, it is not even close to being ready.</p>