执行dotnet-dsrouter android命令时出错,设置ANDROID_SDK_ROOT后问题仍未解决
我看到你在运行dotnet-dsrouter android时遇到了adb找不到的错误,即便设置了ANDROID_SDK_ROOT也没解决问题。根据错误提示和排查经验,给你几个具体的解决方向:
修正PowerShell环境变量的设置语法
你用的set ANDROID_SDK_ROOT=...是CMD的命令语法,在PowerShell里并不生效。正确的临时环境变量设置命令应该是:$env:ANDROID_SDK_ROOT = "C:\Users\gmceaser\AppData\Local\Android\Sdk"设置完成后,输入
$env:ANDROID_SDK_ROOT回车,确认是否能正确输出你的SDK路径。将adb所在目录加入系统PATH
adb工具实际存放在Android SDK的platform-tools子目录下(也就是C:\Users\gmceaser\AppData\Local\Android\Sdk\platform-tools),即便ANDROID_SDK_ROOT正确,如果这个目录不在系统PATH中,PowerShell依然找不到adb。你可以执行以下命令临时添加路径:$env:Path += ";C:\Users\gmceaser\AppData\Local\Android\Sdk\platform-tools"添加完成后输入
adb version测试,如果能正常输出adb的版本信息,说明路径配置生效了。确认platform-tools目录中存在adb.exe
打开文件管理器导航到C:\Users\gmceaser\AppData\Local\Android\Sdk\platform-tools,检查是否有adb.exe文件。如果没有,打开Android Studio的SDK Manager,找到「Android SDK Platform-Tools」选项,点击安装或更新即可。尝试重启PowerShell或使用管理员权限运行
有时候环境变量的变更需要重启PowerShell才能完全生效;另外,当前用户权限不足也可能导致无法正常读取SDK目录,你可以尝试以管理员身份打开PowerShell,重新设置环境变量后再运行dotnet-dsrouter android。配置持久化的系统环境变量(可选)
如果你不想每次打开PowerShell都重新设置,可以配置永久环境变量:- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」区域点击「新建」,变量名填
ANDROID_SDK_ROOT,变量值填你的SDK路径 - 编辑「系统变量」里的
Path,新增一行%ANDROID_SDK_ROOT%\platform-tools - 保存设置后,重启所有打开的PowerShell窗口再测试
按照这些步骤排查后,应该能解决adb找不到的问题,让dotnet-dsrouter正常完成端口转发的设置。
内容来源于stack exchange

