Android Studio 报错之 Connect to 127.0.0.1 failed

  如果在 Android Studio 中设置了代理,而在电脑中使用 SS 设置了全局代理,之后 SS 代理不可用时,使用 Android Studio 时会报如下错误:
  
  Connect to 127.0.0.1:1086 [/127.0.0.1] failed: Connection refused: connect
  
  此时即使关闭 Android Studio 代理或是关闭 SS 皆不能解决 Connect to 127.0.0.1:1086 [/127.0.0.1] failed: Connection refused: connect 错误
  
  原因是本地的 gradle.properties 中设置了代理
  
  注意:是本地的 gradle.properties ,并不是项目中的 gradle.properties ,项目中的 gradle.properties 中并没有设置代理
  
  MAC 电脑的本地的 gradle.properties 在用户目录下 .gradle 文件夹中,而 .gradle 文件夹为隐藏文件,可通过快捷键 "command + shift + ." 来快速显示和隐藏文件,即如果为隐藏,则按下 "command + shift + ." 后会显示隐藏文件,再次按下后会隐藏
  
  找到本地的 gradle.properties 文件后,注释掉如下代理行即可
  
  systemProp.https.proxyPort=1086
  
  systemProp.http.proxyHost=127.0.0.1
  
  systemProp.https.proxyHost=127.0.0.1
  
  systemProp.http.proxyPort=1086
  
  注释方法为在前面加#,如
  
  #systemProp.https.proxyPort=1086
  
  #systemProp.http.proxyHost=127.0.0.1
  
  #systemProp.https.proxyHost=127.0.0.1
  
  #systemProp.http.proxyPort=1086
  
  之后再重新运行即可解决 onnect to 127.0.0.1:1086 [/127.0.0.1] failed: Connection refused: connect 错误
  
  在前一篇文章中,我给大家介绍了,如何基于微软推荐方式使用.NET Core创建Windows服务。我们发现使用这种方式,我们很容易就可以搭建和运行一个Windows服务,但是问题是使用这种方式,代码调试将非常困难。
  
  那么现在就是Topshelf出场的时候了。Topshelf是一个.NET Standard库,它消除了在.NET Framework和.NET Core中创建Windows服务的那些麻烦。
  
  安装#
  
  与微软推荐方式类似,这里Visual Studio并没有提供一个基于Topshelf创建Windows服务的模板,所以我们依然需要通过创建普通控制台程序的方式,来创建一个Windows服务。
  
  然后,我们需要通过Package Manager Console, 运行以下命令,安装Topshelf类库。
  
  Copy
  
  Install-Package Topshelf
  
  代码#
  
  下面我们就来使用Topshelf重构之前的服务代码。
  
  Copy
  
  public class LoggingService : ServiceControl
  
  {
  
  private const string _logFileLocation = @"C:\temp\servicelog.txt";
  
  private void Log(string logMessage)
  
  {
  
  Directory.CreateDirectory(Path.GetDirectoryName(_logFileLocation));
  
  File.AppendAllText(_logFileLocation,
  
  DateTime.UtcNow.ToString() + " : " + logMessage + Environment.NewLine);
  
  }
  
  public bool Start(HostControl hostControl)
  
  {
  
  Log("Starting"www.chaoyul.com);
  
  return true;
  
  }
  
  public bool Stop(HostControl hostControl)
  
  {
  
  Log("Stopping");
  
  return true;
  
  }
  
  }
  
  代码看起来是不是很简单?
  
  这里我们的服务类继承了ServiceControl类(实际上并不需要,但是这可以为我们的工作打下良好的基础)。我们必须实现服务开始和服务结束两个方法,并且像以前一样记录日志。
  
  在Program.cs文件的Main方法中,我们要写的代码也非常的简单。我们可以直接使用HostFactory.Run方法来启动服务。
  
  Copy
  
  static void Main(string[www.sangyuLpt.com] args)
  
  {
  
  HostFactory.Run(x => x.Service<LoggingService>());
  
  }
  
  这看起来真是太简单了。但这并不是HostFactory类的唯一功能。这里我们还可以设置
  
  服务的名称
  
  服务是否自动启动
  
  服务崩溃之后的重启时间
  
  Copy
  
  static void Main(string[] args)
  
  {
  
  HostFactory.Run(x =>
  
  {
  
  x.Service<LoggingService>(www.baiyytwg.com/);
  
  x.EnableServiceRecovery(r => r.RestartService(TimeSpan.FromSeconds(10)));
  
  x.SetServiceName("TestService");
  
  x.StartAutomatically(www.yuanyangyuL.com);
  
  }
  
  );
  
  }
  
  这里其实能说的东西很多,但是我建议你还是自己去看看Topshelf的文档,学习一下其他的配置选项。基本上你能使用Windows命令行完成的所有操作,都可以使用代码来设置: https://topshelf.readthedocs.io/en/latest/configuration/config_api.html
  
  部署服务#
  
  和之前一样,我们需要针对不同的Windows环境发布我们的服务。在Windows命令提示符下,我们可以在项目目录中执行以下命令:
  
  Copy
  
  dotnet publish -r win-x64 -c Release
  
  现在我们就可以查看一下bin\Release\netcoreappX.X\win-x64\publish目录,我们会发现一个编译好的exe,下面我们就会使用这个文件来安装服务。
  
  在上一篇文章中,我们是使用SC命令来安装Windows服务的。使用Topshelf我们就不需要这么做了,Topshelf提供了自己的命令行参数来安装服务。基本上使用代码能完成的配置,都可以使用命令行来完成。
  
  你可以查看相关的文档:
  
  <http://www.qjljdgt.cn docs.topshelf-project.com/en/latest/overview/commandline.html>
  
  Copy
  
  WindowsServiceExample.exe install
  
  这里WindowsServiceExample.exe是我发布之后的exe文件。运行以上命令之后,服务应该就正常安装了!这里有一个小问题,我经常发现,即使配置了服务自动启动,但是服务安装之后,并不会触发启动操作。所有在服务安装之后,我们还需要通过以下命令来启动服务。
  
  Copy
  
  WindowsServiceExample.exe start
  
  在生产环境部署的时候,我的经验是在安装服务之后,等待10秒钟,再启动服务。
  
  调试服务#
  
  当我们是使用微软推荐方式的时候,我们会遇到了调试困难的问题。大多数情况下,无论是否在服务内部运行,我们都不得不使用命令行标志、#IF DEBUG指令或者配置值来实现调试。然后使用Hack的方式在控制台程序中模拟服务。
  
  因此,这就是为什么我们要使用Topshelf。
  
  如果我们的服务代码已经在Visual Studio中打开了,我们就可以直接启动调试。Topshelf会模拟在控制台中启动服务。我们应该能在控制台中看到以下的消息。
  
  Copy
  
  The TestService service is www.jintianxuesha.com now running, press Control+C to exit.
  
  这确实符合了我们的需求。它启动了我们的服务,并像真正的Windows服务一样在后台运行。我们可以像往常一样设置断点,基本上它遵循的流程和正常安装的服务一样。
  
  我们可以通过ctrl+c, 来关闭我们的应用,但是在运行服务执行Stop方法之前,它是不能被关闭的,这使我们可以调试服务的关闭流程。与调试指令和配置标志相比,这要容易的多。
  
  这里需要注意一个问题。如果你收到的以下内容的消息:
  
  Copy
  
  The TestService service is www.xcdeyiju.com running and must be stopped before running via the console
  
  这意味着你尝试调试的服务实际上已经作为Windows服务被安装在系统中了,你需要停止(不需要卸载)这个正在运行的服务,才可以正常调试。
  
  后续#
  
  在上一篇中,有读者指出.NET Core中实际上已经提供了一种完全不同的方式运行Windows服务。它的实质是利用了ASP.NET Core中引入的“托管服务”模型,并允许它们作为Windows服务来运行,这真的是非常的棒。
  
  作者:Lamond Lu

原文地址:https://www.cnblogs.com/dakunqq/p/11625948.html

时间: 2024-10-01 04:47:49

Android Studio 报错之 Connect to 127.0.0.1 failed的相关文章

Android Studio报错:Failed to complete Gradle execution.

解决Android Studio报错:Failed to complete Gradle execution. 运行Android Studio的时候,出现以下错误: 原因:用于启动虚拟机的内存不够,android studio的默认最大内存是10g,所以对于4g.8g内存的电脑来说,内存不够用,不过为什么有时不会出问题有时会,可能是google优化不好吧,但这又有个问题,把参数改为1g.2g都不行,一定要更小才行,只能说明Android studio确实有bug. 解决方法 1: 解决方法 2

Android studio报错 Error retrieving parent for item: No resource found that matches the given name &#39;android:TextAppearance.Material.Inverse&#39;

用Android studio创建一个工程,我选择了Phone and Tablet平台, Minimum SDK选择了API 9,也就最低支持是Android 2.3, 接下来一路Next.惊喜出现了,报了一堆 Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Inverse'... 都是说找不到某个样式,仔细看错误信息

Android Studio 报错Guest isn&#39;t online after 7 seconds 解决方案

 最近使用真机模拟之后,再使用虚拟机就频繁出现这个问题; 解决步骤如下: 1.打开Android虚拟设备管理器, 2.查看Actoins栏下拉图标, 3.选择冷启动模式即可, 4.重启AVD正常; Android Studio 报错Guest isn't online after 7 seconds 解决方案 原文地址:https://www.cnblogs.com/jpfss/p/9871375.html

安装android studio报错Failed to install Intel HAXM.

在安装android studio的过程中,安装到android的模拟器加速器(intel HAXM)这一步时,报错: HAXM是用来管理硬件加速的,估计是用了这个东西模拟器就能Eclipse的龟速吧. 解决: 原因:没有找到reg.exe; 给reg.exe配置环境变量. reg.exe一般是在C:\Windows\System32\目录下. 可以将路径C:\Windows\System32\reg.exe配置在PATH下, 也可以直接将%SystemRoot%\system32;%Syste

android studio 报错-----R全部显示红色 ---- .9图片报错

导入android项目后,R全部变红,控制台有下面的提示 意思是缺少一些资源,比如说图片之类的,然后我发现确实少了一张图片资源,导入图片资源后,依旧报错,如下  Error:Execution failed for task ':generalAPPN:mergeDebugResources'.  查阅了一些资料,发现是由于.9 png图片有问题,android studio "点九"是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png 智能手机中有自动

Android Studio报错问题集锦

Android Studio使用过程中坑太多,动不动就报错,每次出现问题都是上百度去搜索,需要花费很大的时间和精力才能解决掉问题. 为了以后更高效的使用这款工具,在这里记录下来我已经踩过的坑和即将要踩的坑,希望能为自己也为别人提供些便利,共同学习,共同进步. 公司和家中的电脑用了两个不同版本的studio,先贴下截图做个记录 报错1:Could not find any version that matches com.android.support:appcompat-v7:29.+. Cou

Android studio 报错AAPT2 error

报错提示: Error:Execution failed for task ':app:mergeDebugResources'.Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 具体表现:cant resolve symbol R 解决方案:在项目的gradle.properties中添加一行代码:

Android studio 报错 gradel project sync failed Error:Cause: peer not authenticated

在网上找了半天,应该是找不到gradel的路径,试了网上非常多方法.本人解决例如以下: 在android studio中设置gradle.打开File-> settings->Gradle-> use local gradle distribution,然后选择你的gradle文件夹.就可以.(ps: gradle 2.8貌似存在问题,建议下载2.9 -all(不是bin))

Android Studio报错:failed to notify build listener.

问题: gradle5.1.1版本的项目,sync后出现failed to notify build listener.的问题,并且出现的位置是随机的,比如ModuleComponentIdentifierImpl.getModuleIdentifier()等. 原因: 是gradle5.0和android studio3.2不兼容的问题,解决方案是升级android studio到3.3x 原文地址:https://www.cnblogs.com/51ma/p/11438035.html