Android Studio在不使用sdkmanager的情况下安装。

21 浏览
0 Comments

Android Studio在不使用sdkmanager的情况下安装。

我一直在使用macOS 10.15.3上的Flutter进行编程,针对的是iOS设备。今天我也尝试安装了Android Studio,希望能够扩展一下。安装过程没有出现错误,但是在Library/Android/sdk/目录下没有tools子目录,这是一个问题,因为应该在Library/Android/sdk/tools/bin目录中找到sdkmanager

我注意到这一点是因为运行flutter doctor时出现以下错误信息:

    ✗ Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for detailed instructions.

我尝试重新安装Android Studio(没有任何变化)。其他在线发布的解决方案提到了Java版本的问题,所以我将JRE从1.7升级到1.8,并重新安装了Android Studio(没有任何变化),然后将JDK升级到最新版本(Java版本现在是11.0.6),并再次尝试安装Android Studio(没有任何变化)。在此过程中,我还将Flutter升级到了v1.12.13+hotfix.8,但是这个错误依然存在。

如果我输入flutter doctor --android-licenses,我得到以下信息:

    Android sdkmanager tool not found (/Users/macuser/Library/Android/sdk/tools/bin/sdkmanager).
    Try re-installing or updating your Android SDK,
    visit https://flutter.dev/setup/#android-setup for detailed instructions.

这是我首次注意到我缺少Android Studio的一部分。

我尝试通过自己创建tools/bin子目录,然后将sdkmanager从插件的Library/Android/sdk/cmdline-tools/latest/bin复制到我的新Library/Android/sdk/tools/bin中来进行欺骗。然而,这并没有欺骗Flutter。运行flutter doctor --android-licenses会导致以下错误信息:

A newer version of the Android SDK is required. To update, run:
/Users/macuser/Library/Android/sdk/tools/bin/sdkmanager --update

这是错误的,因为Android SDK已经是最新的。

有人知道为什么Android Studio一直缺少tools/bin子目录和其中的好东西吗?谢谢,如果我忽视了一些基本的东西,还请原谅。

0
0 Comments

问题是在Java 11(或9和10)中,JDK中不包含jaxb库,因此Android Studio的sdkmanager无法读取licenses xml文件。

如果你使用的是Java 11,你需要在classpath中包含这些库,你可以按照这里发布的说明进行操作(在Windows 10中对我有效)。

https://medium.com//flutter-android-sdkmanager-update-with-jdk-12-ad8098165472

最后一步是不必要的。在包含了classpath行之后,运行flutter doctor命令,一切应该正常。

0
0 Comments

我在我的设备上解决了这个问题,以下是具体的步骤:

1. 运行命令:flutter doctor --android-licenses -v

2. 我收到了以下提示信息:

$ flutter doctor --android-licenses -v Android sdkmanager tool not

found (/Users/juarse1/Library/Android/sdk/tools/bin/sdkmanager). Try

re-installing or updating your Android SDK, visit

https://flutter.dev/setup/#android-setup for detailed instructions.

throwToolExit (package:flutter_tools/src/base/common.dart:28:3)

AndroidLicenseValidator.runLicenseManager (package:flutter_tools/src/android/android_workflow.dart:311:7)

Doctor.diagnose (package:flutter_tools/src/doctor.dart:243:38)

这是因为Android SDK无法找到命令工具,但是需要强制从过时的软件包中获取,所以需要执行以下步骤:

3. 打开Android Studio -> Preferences -> System Settings -> Android SDK -> SDK Tools部分

4. 取消底部的"隐藏过时的软件包"选项

5. 确保这两个选项都被选中:

Android SDK Platform-Tools
Android SDK Tools (Obsolete)

6. 关闭Android Studio

7. 再次运行命令:flutter doctor --android-licenses,问题应该已解决!

通过以上步骤,我成功解决了(Android Studio installs without sdkmanager)这个问题。

0
0 Comments

问题原因:最新版本的Android SDK将“Android SDK tools”包重命名为“Android-SDK command line tools”。但是当前稳定版本的Flutter SDK(v1.12.13+hotfix.8)与此更改不兼容,会显示错误消息。

解决方法:取消“SDK tools”页面上的“Hide Obsolete Packages”复选框,然后安装“Android SDK Tools (Obsolete) 26.1.1”。如果发现有任何遗漏的内容,请阅读以下详细说明。

步骤如下:

1. 安装Android Studio的稳定版本。

2. 打开Android Studio。

3. 打开SDK Manager。

4. 确保已下载所有所需的内容。

5. 检查家目录下是否有.bash_profile文件,如果有,则打开它;如果没有,则创建一个。将以下内容添加到该文件中:

export PATH="$PATH:~/development/sdk/flutter/bin"
export ANDROID_HOME="/Users/darish/development/sdk/android"
export PATH="$PATH:$ANDROID_HOME/platform-tools"

6. 完成上述所有步骤后,运行flutter doctor --android-licenses并接受所有许可。

flutter doctor --android-licenses

7. 现在运行flutter doctor以查看是否一切正常。如果需要进一步帮助,请告诉我。

解决方法2:在我的情况下,按相反的顺序安装“Android-SDK command line tools”。

注意:本文中提到的路径和版本仅供参考,实际路径和版本可能因个人设置和系统差异而有所不同。

0