2019-07-06 在Flutter 环境搭建过程中,遇到了android 环境的问题

前言

开始的目的是想学Flutter ,于是就去配置了Flutter的环境变量,下载的IDEA, Idea也安装了Flutter和Dart插件。

但是后来发现可能需要安装Android SDK环境,开始也不是很清楚,于是就Android studio.

后来才发现,Android studio是一个IDE,于是觉得从Android studio中下载SDK不方便,能不能不要Android studio ,只安装SDK. 后来一顿折腾,发现是可以得。才有了下面我遇到的问题!

问题

在这个过程中,遇到的问题很多,有下面的这些

1. Android license status unknown

2. A newer version of the Android SDK is required. To update, run:

    /Users/***/Android/sdk/tools/bin/sdkmanager --update

3. Warning: An error occurred during installation: Failed to move away or delete existing target file: C:\ProgramFiles\android-sdk-windows\toolsMove it away manually and try again..done

4. 这些问题最后会遇到一个SDK Manager 闪退,无法打开。 

本来的流程

从网上下载了一个SDK android-sdk_r24.4.1-windows.zip

android-sdk_r24.4.1-windows.zip

运行里面的SDK Manager.exe 下载各种需要的文件,这个没有保存到截图。

弄完之后,在cmd 下面执行flutter doctor

就报了下面的错误

Android license status unknown

百度了很多文章都是说要求执行flutter doctor --android-licenses,

然后报下面的错,要求更新SDK

newer version of the Android SDK is required. To update, run: C:\ProgramFiles\android-sdk-windows\tools\bin\sdkmanager --update

其实我在执行sdkmanager --update遇到的错有时候不一样,有下面的错误

Failed to move away or delete existing target file: C:\ProgramFiles\android-sdk-windows\tools

百度了很多教程,是说把tools 改名成tool,然后再执行,从这句话的意思,就是他想删除tools文件,我也改名是有道理的,于是就做了。

有几次改名弄完之后,可以加licenses. 但是都会遇到SDK Manager 闪退,无法打开

后来我发现SDK Manager 闪退,无法打开是因为在E:\Software\android\android-sdk_r24.4.1-windows\android-sdk-windows\tools\lib 下面执行SDK Manager.exe的问题,会有下面的错误,你也可以试试自己的是不是和我一样


1


2

后面百度了一些,发现有个帖子说的方法给了我一些启发

http://www.knowsky.com/974848.html

其实它的方法可以让SDK Manager.exe重新启动,但是又有了开始的Android license status unknown

这样 就又绕回去了

思考和梳理

其实这个问题我已经弄块一个星期了。 我上面的帖子确认了几点,

1. 要覆盖tools里面的文件,要下载的SDK版本和tools版本一致,我SDK是android-sdk_r24.4.1-windows.zip, tools是tools_r25.2.5-windows.zip

2. tools 需要重名成tool,如果需要的话,再试一下把里面的文件按照帖子的方法试一遍


最后的解决方法

我下载了tools_r25.2.5-windows.zip,

解压tools文件夹到android-sdk-windows文件夹里面,是我ANDROID_HOME的配置环境变量的目录

执行tools下面的android.bat

他会自动下载SDK等等一些东西。

下载完成你会发现它的目录是这样的,tools_r25.2.5-windows是刚才解压的,tool是我后面的操作重名的,不要管

3

等待完成,cmd 输入 flutter doctor

依然提示 Android license status unknown

接着输入 flutter doctor --android-licenses

如果提示你 Accept? (y/N):  输入y

其实我遇到的是

A newer version of the Android SDK is required. To update, run: C:\ProgramFiles\android-sdk-windows\tools\bin\sdkmanager --update

于是我按照它的提示,运行了它run:后面的那句话,它的意思是调用\tools\bin\下面的sdkmanager --update

别人一样都这就差不多可以了,但是我遇到了的

Failed to move away or delete existing target file: C:\ProgramFiles\android-sdk-windows\tools

这样时候我就把tools 重命名为 tool 

再重复sdkmanager --update

它会再目录下载重生成一个tools目录

最后我执行

flutter doctor --android-licenses

连续的y,y,y

最后执行flutter doctor 就没有Android license status unknown的错误了

最后你就发现操作下面就没有这两个文件


4

没有关系,从\tool\android.bat来启动

其实\tools\android.bat 启动不了。我郁闷啊,我写完这些字的时候,可能我的问题还没有解决。希望有帮到你。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容