当前位置: 首页 > 知识库问答 >
问题:

“无效参数:在 VS 代码上模拟Android时找不到空的可执行文件 - Mac OS X

秦承允
2023-03-14

在Android Studio安装Android SDK后,当我试图在Mac OS Catalina中模拟Android on VS代码时,它返回消息:无效参数:无法找到null的可执行文件。我已经创建了环境变量ANDROID_SDK_ROOT和ANDROID_HOME,它们都指向同一个目录:/Users/Anderson/Library/ANDROID/SDK,但是我没有成功。

颤振医生诊断:

anderson@MacBook-Pro-de-Anderson~%颤振医生医生摘要(要查看所有详细信息,请运行颤振医生-v):

[✓]颤振(通道稳定,v1.12.13热修复补丁9,在Mac OS X 10.15.4 19E266,语言环境en-BR)

[✓] Android工具链 - 针对Android设备开发(Android SDK 版本 29.0.3)

[✓] Xcode-为iOS和macOS开发(Xcode 11.4)

[✓] Android Studio(版本3.6)

[✓]VS Code(版本1.43.2)[!]连接设备!没有可用的设备

!医生发现1类问题。Anderson @ MacBook-Pro-de-Anderson ~ %

共有1个答案

吴西岭
2023-03-14

您可以通过命令行flutter emulator--create flutteremu或在Visual Studio Code中使用Flutter: Launch Emulator来获取此错误。

Oops; flutter has exited unexpectedly: "Invalid argument(s): Cannot find executable for null.".

尽管颤振医生告诉您一切正常,但您还是会收到此错误。

有一个日志文件,其中详细说明了此处的错误。

如果你深入挖掘,你会发现下面的Android命令行工具不起作用:

avdmanager
No Java runtime present, requesting install.

呜呜呜。因此,尽管Android SDK充满了Java,但您仍然需要安装一个单独的Java来运行一些命令行命令。如果安装了错误版本的Java,Android SDK可能无法工作。下面是一个通过自制软件安装的已知版本:

# Install Java 8 and Android SDK
brew tap homebrew/cask-versions

# See details here https://stackoverflow.com/a/61521063/315168
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

检查 Java 现在是否正常工作:

java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.252-b09, mixed mode)

现在在shell中确保所有的环境变量都是正确的。

export JAVA_HOME=$(/usr/libexec/java_home)
export ANDROID_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_SDK_ROOT=/Users/$USER/Library/Android/sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

然后再次运行avdManager

avdmanager list

现在,您应该能够启动具有Flutter支持的模拟器:

flutter emulator --create flutteremu
No suitable Android AVD system images are available. You may need to install these using sdkmanager, for example:
  sdkmanager "system-images;android-27;google_apis_playstore;x86"

因此,让我们安装映像:

sdkmanager "system-images;android-27;google_apis_playstore;x86"

现在Flutter应该能够启动一个模拟器:

flutter emulator --create flutteremu

最终它会成功的:

Emulator 'flutter_emulator' created successfully.

关闭任何正在运行的Visual Studio代码。从shell启动Visual Studio代码,并显式设置VSCode进程的环境变量:

export JAVA_HOME=$(/usr/libexec/java_home)
export ANDROID_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_SDK_ROOT=/Users/$USER/Library/Android/sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
code

现在Flutter:Launch Emulator可以工作了。

 类似资料:
  • 我已经安装了PostgreSQL。我想我需要在windows上安装libpq-dev来解决这个问题,但是如何安装呢? 命令pythonsetup.pyegg_info的完整输出:运行egg_info创建pip-eg-info\psycopg2_binary.egg-info写入pip-eg-info\psycopg2_binary.egg-info\PKG-INFO写入dependency_lin

  • 问题内容: 我在安装psycopg2时遇到问题。我尝试执行以下操作时收到以下错误pip install psycopg2: 但是问题出在我身上PATH; 它运行没有任何问题: 我尝试将径添加到文件中,并使用从其网站(http://initd.org/psycopg/)下载的源文件进行构建,然后收到以下错误消息! 但实际上是那里!!! 这些错误使我感到困惑。有人可以帮忙吗? 顺便说一下,我sudo所

  • 我有独立的应用程序,它绑定在可执行的中。在可执行的清单文件中,有一个class-path条目,其中列出了所有依赖的(包括所有的日志实现jar)。这个可执行jar还包含文件。 使用这种结构,当我使用简单的命令运行应用程序时,应用程序在正确的日志记录下运行良好。但这里的主要问题是,要更改日志级别,需要打开jar文件,而我不能要求客户端这样做。所以我将放在了jar外部,但现在所有日志记录都发生在控制台上

  • 我有一个docker映像,它安装了,但是当我试图运行它时,我得到了一个错误: 如果我在交互模式下运行bash,则可用。 我做错了什么? 这是我的Dockerfile:

  • 问题内容: 我正在开发应用程序(用C ++编写),该应用程序在运行时会生成一些机器代码(现在是Linux,x86-64,但我计划在ARM上迁移)。接下来,它将生成的代码存储在内存中,并通过跳转到内存位置来执行它。长期以来,我在分配可执行内存方面遇到问题,但最终我使用以下方法解决了问题: 到目前为止,它是可行的,但是我不确定这是否是执行此类操作的优雅方法。我想知道可执行加载程序是如何做到的? 问题答

  • 问题内容: 我正在尝试将Postgres与Docker一起构建Flask应用程序。我想连接到Postgres的AWS RDS实例,但是将Docker用于我的Flask应用程序。但是,在尝试设置时会遇到错误,因为找不到。这是错误: 这是我的: 许多其他问题在本地似乎也有类似的问题,但没有一个涉及使用Docker。 这似乎是一个Docker问题,因为我可以设置本地虚拟环境,并且安装正常,因为我在本地安