Android Studio Mac全新安装 - 错误接连出错

Posted

技术标签:

【中文标题】Android Studio Mac全新安装 - 错误接连出错【英文标题】:Android Studio Mac Fresh install - error after error after error 【发布时间】:2019-11-12 01:36:32 【问题描述】:

从未真正使用过会引发如此多错误的软件。我安装并得到了以下所有错误,因此尝试全新安装,然后重新安装过程以完全删除它,甚至包括 SDK,但再次安装它会引发完全相同的错误。根据我的阅读,它应该在基本安装后才能工作?

第一次打开时的第一个错误:

unable to access android sdk add on list

即使在安装后我添加了它并在我的防火墙中批准了它。

然后在安装过程中,它说 HAXM 安装失败,并给出了一个安装链接,这是一个找不到的页面。然后我在 SDK 管理器中的工具下发现它显示Intel x86 Emulator Accelerator (HAXM installer) 7.3.2 - Installed。根据我的阅读,这意味着它已安装?

我正在使用 MacOS High Sierra,应该去 System Preferences > Security & Privacy 并选择允许这个特定的应用程序应该修复它,但因为我已经将它设置为允许 任何明显无法为我解决问题的应用程序。

然后我添加了 Flutter 插件,创建了默认应用并启动它,我得到了错误:

* Error running Gradle:
ProcessException: Process "/Users/hasen/AndroidStudioProjects/testing_app/android/gradlew" exited abnormally:
Starting a Gradle Daemon (subsequent builds will be faster)

> Configure project :app
Checking the license for package Android SDK Build-Tools 28.0.3 in /usr/local/Cellar/android-sdk/24.4.1_1/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 28 in /usr/local/Cellar/android-sdk/24.4.1_1/licenses
Warning: License for package Android SDK Platform 28 not accepted.

Picked up _JAVA_OPTIONS: -Xverify:none

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/hasen/AndroidStudioProjects/testing_app/android/build.gradle' line: 24

* What went wrong:
A problem occurred evaluating root project 'android'.
> A problem occurred configuring project ':app'.
   > Failed to install the following Android SDK packages as some licences have not been accepted.
        build-tools;28.0.3 Android SDK Build-Tools 28.0.3
        platforms;android-28 Android SDK Platform 28
     To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
     Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html

     Using Android SDK: /usr/local/Cellar/android-sdk/24.4.1_1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 13s
  Command: /Users/hasen/AndroidStudioProjects/testing_app/android/gradlew app:properties

Finished with error: Please review your Gradle project setup in the android/ folder.

它在此错误输出中说我需要接受 SDK 许可协议,但不确定如何或为什么需要这样做。我遵循的教程不需要这样做任何...不知道为什么它这么奇怪。

编辑:错误标记为重复。这不是重复的,因为 3 年前的解决方案对我不起作用,而且我还有另外两个错误,在重复的问题中根本没有提到。

此外,我的问题的解决方案是删除 Homebrew 安装的 Android SDK 的第二次安装。在假定的问题中没有提到这些,这是一个“重复”。

【问题讨论】:

@Lakhwinder Singh 您链接到自己的那个问题是重复的,也没有公认的答案。它也是3岁。更不用说在我的情况下它是一个全新的安装并且不应该需要这样的方法来修复它。我的问题是为什么在全新安装后它不能立即工作。这也只是指我遇到的一个错误...... ***.com/a/45782695/2219208 @Lakhwinder Singh 尝试过yes | sudo ~/Library/Android/sdk/tools/bin/sdkmanager --licenses,但它不起作用,它仍然会抛出与上述相同的错误。可能是由于我列出的其他错误。 上面写着To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager,但我找不到怎么做... @Lakhwinder Singh 您能否删除您的重复标记,因为 1. 您从 3 年前链接到的问题中的解决方案不起作用。它返回Warning: File /var/root/.android/repositories.cfg could not be loaded. All SDK package licenses accepted.======] 100% Computing updates... 我什至尝试再次运行它,重新启动但它根本无法修复错误。 2.它与我遇到的HAXM问题无关,也与unable to access android sdk add on list错误无关。 【参考方案1】:

让我先澄清一下你的 cmets:我没有投反对票,但你的措辞还有很多不足之处。 Android Studio 不是我心爱的任何东西,它只是我使用的一个工具,因为缺少一个更方便的工具。您遇到的不是 Android Studio 安装问题,而是 Android 工具链问题。

发生了什么事?

您的 Android 工具链已损坏。

怎么办?

我会在这里采取几个步骤来验证您的问题出在哪里,因为如果不能重现它就很难判断。相反,如果我遇到 macOS 的全新安装(或任何其他操作系统,因为我不再运行 macOS,我将告诉你我会遵循哪些步骤 )。

    下载Android Studio from Google。 Android Studio 附带了一些捆绑的基本内容,但在大多数情况下,建议您使用集成 SDK 管理器完成缺少的密钥。它出现在第一个 Android Studio 欢迎弹出窗口中,上面写着“欢迎来到 Android Studio”。选择底部的“配置”,然后选择“SDK Manager”:

    顶部的通知,我保存所有这些的位置;这必须设置为ANDROID_HOME 环境变量,并且其中一些文件夹必须在您的路径中(为了更容易访问任何工具,特别是adb 命令)。因此,如果您使用 BASH(macOS High Sierra 的默认设置),请确保将其添加到您的 .bashrc.bash_profile您配置路径的任何位置
export ANDROID_HOME="$HOME/Android/Sdk"
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

你明白了。

    不幸的是,您还需要 Java,这些天 macOS 不再提供这些东西了。所以你在这里有很多选择。对于 Java 8,您可以前往 Oracle's downloads 并为您的环境选择正确的,或者您可以安装 OpenJDK。无论如何,如果您需要查看 Java 的安装位置,macOS 有一个名为 java_home 的便捷工具。你可以阅读更多关于它的信息in this *** post。

java_home 在我的 Linux 上不存在,但我知道我的 java 在哪里,并且我可以看到它,因为我添加了这个需要的环境变量:

$ echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64

现在我的路径中有它,我可以运行 Java 二进制文件:

 $ java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.19.04.2-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

许可证呢

SDK 管理器能够从命令行以半自动形式批准许可证,因为这正是持续集成环境所使用的。如果您的 CI 环境是为每个管道全新创建的(以确保每次都从头开始工作),那么他们也需要下载 SDK 并接受许可证。这就是 SDK 管理器许可证的作用所在。

很难说出你的具体情况,但请放心,根据我的经验,这不是正常情况。很容易意识到,它所需要的只是一个位于正确位置的文件,以停止请求批准,而不是什么。但是,如果您使用 SDK Manager UI,则不需要所有这些,因为它会在 UI 中提示您接受许可。

在您设置好 JAVA_HOME、ANDROID_HOME 等之后。如果您输入adb --version,无论您身在何处,它都应该可以工作:

$ adb --version
Android Debug Bridge version 1.0.41
Version 29.0.1-5644136
Installed as /home/martin/Android/Sdk/platform-tools/adb

在这一切之后,假设您的 Android Studio SDK 指针指向正确的位置,那么您应该一切顺利。

请记住,项目可以选择使用 embedded JDK(实际上它说是推荐的)所以如果 Java 适合你,请忽略我安装 Java 的方式 :)(我更喜欢使用我自己的 JDK 副本,我已经习惯了)。请记住,这是一个per-project 设置。

HAXM 怎么样?

HAXM 是英特尔的专有工具,Android Studio / SDKManager 所做的只是下载而不是安装(据我所知)。无论如何,the official Google steps to install it on macOS,明确地说,在第 4 步(我引用上面的链接):

下载完成后,运行安装程序。通常,您可以在以下位置找到安装程序:sdk/extras/intel/Hardware_Accelerated_ExecutionManager/IntelHAXMversion.dmg

更新

    HAXM:这是一个英特尔工具,它具有安全隐患,并且需要提升权限(在 macOS 的情况下,安装内核扩展),因此您必须自己完成安装。 SDK 管理器用来做的唯一一件事就是下载文件,我认为它不会自行启动安装。现在安装 HAMX 相对简单;您甚至可以从 Intel 下载并自行安装。

    关于您的 Homebrew,我不确定发生了什么,但我没有使用 Flutter 进行 Android 开发,因此我在这方面的帮助将受到限制。我会尝试brew uninstall 这里有任何冲突,或者至少尝试找出 Flutter 指向 错误 SDK 的原因。将我的 Flutter 建议视为来自从未安装过 Flutter 并且只是在没有证据的情况下猜测的人:)

【讨论】:

关于“Android Studio 不是我心爱的东西,它只是我使用的一个工具,因为缺少一个更方便的工具。”为什么不直接使用 Eclipse 或 IntelliJ? bad (就像某些人一样)认为 Android Studio 是,我们不要忘记 AS 只是 IntelliJ,上面有一堆插件,仅此而已(Open IntelliJ 的源版本)。我相信 IntelliJ(和 Android Studio)在我能想到的几乎所有方面都远远优于 Eclipse。更不用说 Eclipse不再正式支持用于 Android 开发(使其工作和更轻松的插件多年来一直没有维护)。我不是说我爱或恨 AS,我是说如果你不这样做我不会“被冒犯”,因此为什么正如 OP 所暗示的那样“不是我心爱的人”。 澄清一下,我并没有说你个人对我的回答投了反对票,我只是说“反对票”。尽管我的问题没有任何问题,但这正是发生的事情,没有人会对通过简单的软件安装弹出这么多错误感到满意。 无论如何,我认为问题在于 Mac 似乎在不同的地方安装了东西。我尝试通过 VScode 运行 Flutter,它还说“Flutter 需要 Android SDK 28”,尽管 Android Studio 清楚地显示了这一点。我似乎在这里有另一个版本/usr/local/Cellar/android-sdk/24.4.1_1/tools/bin/sdkmanager 可能是由自制软件安装的,由于某种原因,VScode 紧贴着 Android Studio 使用另一个版本。有点乱。 @Martin Marconcini 啊哈!是的,它肯定以前没有安装过。我在我的系统库的 SDK 文件夹中找到了它(放置安装程序的奇怪地方),现在模拟器立即打开!曾经像你说的那样需要永远。

以上是关于Android Studio Mac全新安装 - 错误接连出错的主要内容,如果未能解决你的问题,请参考以下文章

如何在mac上安装android studio

mac怎么安装android studio

怎么安装mac版本的android studio

mac怎么安装android studio

如何在mac book 上安装Android studio 开发工具

Android Studio系列:Mac 笔记本上安装Android studio 4.0.2