【Android Studio】为Android Studio设置HTTP代理

【Android Studio】为Android Studio设置HTTP代理

给你讲下如何在 Android Studio 中设置 HTTP 代理,方便在受限网络环境下访问外部资源(比如 Maven 仓库、Gradle 下载依赖等)。


方法一:通过 Android Studio GUI 设置代理

  1. 打开 Android Studio。
  2. 进入菜单 File > Settings(macOS 是 Android Studio > Preferences)。
  3. 在设置窗口中,找到 Appearance & Behavior > System Settings > HTTP Proxy
  4. 选择代理类型:
    • No proxy(无代理)
    • Auto-detect proxy settings(自动检测)
    • Manual proxy configuration(手动配置)
  5. 如果选手动配置:
    • 填写 HTTP Proxy 和 Port
    • 如果需要身份认证,勾选 Proxy authentication 并填写用户名和密码。
    • 如果你有 HTTPS 和 SOCKS 代理,也可以配置。
  6. 点击 Check connection 按钮,输入一个 URL(例如 https://www.google.***)测试是否代理成功。
  7. 点击 OK 保存。

方法二:通过 Gradle 配置文件设置代理(适用于命令行构建)

在项目根目录下的 gradle.properties 文件(如果没有就创建一个),添加:

 

systemProp.http.proxyHost=你的代理IP或域名

systemProp.http.proxyPort=代理端口

systemProp.https.proxyHost=你的代理IP或域名

systemProp.https.proxyPort=代理端口

# 如果需要认证:

systemProp.http.proxyUser=用户名

systemProp.http.proxyPassword=密码

systemProp.https.proxyUser=用户名

systemProp.https.proxyPassword=密码

php

275 Bytes

© 菜鸟-创作你的创作


方法三:通过环境变量设置代理(命令行和系统环境)

设置环境变量 HTTP_PROXY 和 HTTPS_PROXY

  • Windows(CMD):
 

set HTTP_PROXY=http://用户名:密码@代理IP:端口

set HTTPS_PROXY=http://用户名:密码@代理IP:端口

php

74 Bytes

© 菜鸟-创作你的创作

  • Linux/macOS(bash):
 

export HTTP_PROXY=http://用户名:密码@代理IP:端口

export HTTPS_PROXY=http://用户名:密码@代理IP:端口

php

80 Bytes

© 菜鸟-创作你的创作


注意事项

  • 设置代理后,Gradle 依赖同步可能需要重新执行。
  • 如果是企业或学校内网,代理配置一般需要问管理员获取正确地址和端口。
  • Android Studio 的代理和系统代理是独立的,最好都配置正确。
  • 如果你用的是 HTTPS 代理,确保代理地址支持 SSL 连接。

下面给你准备一个完整的 Android Studio HTTP 代理配置示例,包括:

  1. Android Studio GUI 代理设置步骤说明(已上面详述,这里不重复)
  2. gradle.properties 配置样例
  3. 环境变量设置示例脚本
  4. 排查代理问题的实用技巧

1. gradle.properties 代理配置示例

在你项目根目录(或全局用户目录下 ~/.gradle/gradle.properties)新建或编辑 gradle.properties 文件,添加如下内容:

 

# HTTP 代理地址和端口

systemProp.http.proxyHost=proxy.example.***

systemProp.http.proxyPort=8080

# HTTPS 代理地址和端口

systemProp.https.proxyHost=proxy.example.***

systemProp.https.proxyPort=8080

# 如果代理需要身份认证,取消注释并填写

# systemProp.http.proxyUser=username

# systemProp.http.proxyPassword=password

# systemProp.https.proxyUser=username

# systemProp.https.proxyPassword=password

# 不通过代理访问的地址列表(可选)

systemProp.http.nonProxyHosts=localhost|127.0.0.1

php

434 Bytes

© 菜鸟-创作你的创作

注意替换 proxy.example.*** 和端口号为你的代理服务器地址和端口。


2. 环境变量代理设置脚本示例

Windows CMD(保存为 set_proxy.bat

 

@echo off

set HTTP_PROXY=http://username:password@proxy.example.***:8080

set HTTPS_PROXY=http://username:password@proxy.example.***:8080

echo 代理环境变量设置完成

pause

php

158 Bytes

© 菜鸟-创作你的创作

Linux/macOS Bash(保存为 set_proxy.sh

 

#!/bin/bash

export HTTP_PROXY="http://username:password@proxy.example.***:8080"

export HTTPS_PROXY="http://username:password@proxy.example.***:8080"

echo "代理环境变量设置完成"

php

166 Bytes

© 菜鸟-创作你的创作

运行后,重新打开 Android Studio 或终端即可生效。


3. 代理配置排查小技巧

  • 测试网络连通性
    打开终端或命令行,执行:curl -I https://www.google.*** --proxy http://proxy.example.***:8080 查看是否能通过代理访问外网。
  • Gradle 代理日志调试
    在 gradle.properties 添加:org.gradle.logging.level=DEBUG 重新同步项目,查看 Gradle 详细日志,定位代理连接问题。
  • 关闭 Android Studio 内置代理,改用系统代理测试
    确认 Android Studio File > Settings > HTTP Proxy 中无误,或选择 No Proxy 后设置系统代理。
  • 检查防火墙和杀毒软件是否阻止代理端口
    确保代理端口未被本机安全软件阻断。

好的!这里给你整理了一份详细的 Android Studio 代理排查手册,帮助你定位和解决代理配置中常见的问题。


Android Studio 代理排查手册

1. 确认基础网络连接

  • 测试无代理时能否访问外网
    关闭所有代理设置,直接用浏览器访问 Gradle Services 检查能否访问。
  • 测试命令行能否访问外网
    打开终端,执行:curl -I https://services.gradle.org/ 或用 ping services.gradle.org 看是否有响应。

2. 检查 Android Studio 代理设置

  • 打开 File > Settings > Appearance & Behavior > System Settings > HTTP Proxy
  • 如果使用手动代理,确认地址和端口正确无误。
  • 使用“Check connection”按钮测试连接是否成功。

3. 检查 Gradle 代理配置

  • 打开项目根目录的 gradle.properties 文件(或者用户目录 ~/.gradle/gradle.properties
  • 确认配置项:systemProp.http.proxyHost=代理地址 systemProp.http.proxyPort=代理端口 systemProp.https.proxyHost=代理地址 systemProp.https.proxyPort=代理端口
  • 若代理需要账号密码,确保配置正确:systemProp.http.proxyUser=用户名 systemProp.http.proxyPassword=密码 systemProp.https.proxyUser=用户名 systemProp.https.proxyPassword=密码

4. 开启 Gradle 调试日志,查看详细错误

  • 在 gradle.properties 文件添加:org.gradle.logging.level=DEBUG
  • 同步项目后,查看 Gradle Console 输出,查找连接代理失败、认证失败、超时等详细信息。

5. 环境变量检查

  • 查看是否设置了 HTTP_PROXY 和 HTTPS_PROXY 环境变量。
  • 确保环境变量格式正确,比如:export HTTP_PROXY="http://username:password@proxy.example.***:8080" export HTTPS_PROXY="http://username:password@proxy.example.***:8080"
  • Windows CMD 查看:echo %HTTP_PROXY% echo %HTTPS_PROXY%
  • macOS/Linux 查看:echo $HTTP_PROXY echo $HTTPS_PROXY

6. 防火墙和安全软件检查

  • 确认本机防火墙或杀毒软件未阻止 Android Studio 或代理端口。
  • 可临时关闭防火墙测试。

7. 使用命令行测试代理连通性

  • 使用 curl 或 wget 测试:curl -x http://代理地址:端口 -I https://services.gradle.org/ 观察是否能成功连接。

8. 清理 Gradle 缓存并重试

  • 有时缓存可能导致奇怪问题,删除 .gradle 目录后重试:rm -rf ~/.gradle/caches/
  • Windows 用户可以删除 %USERPROFILE%\.gradle\caches

9. 代理认证问题

  • 如果代理账号密码错误,Android Studio/Gradle 会报认证失败。
  • 重新确认账号密码无误,且密码中没有特殊字符(如 @:)需要 URL 编码。

10. 其他注意事项

  • 使用 VPN 或代理软件时,有时会影响代理设置,建议关闭 VPN 后单独测试代理。
  • 如果是企业网络,咨询网络管理员确认代理的相关信息。

附录:常用命令快速诊断

目的 命令示例
测试无代理访问 curl -I https://services.gradle.org/
测试代理访问 curl -x http://proxy:port -I https://services.gradle.org/
查看环境变量 Windows: echo %HTTP_PROXY% Linux/macOS: echo $HTTP_PROXY
清理 Gradle 缓存 rm -rf ~/.gradle/caches/ (Linux/macOS)

好的,我帮你写一个简单的 Windows PowerShell 脚本,自动检测 Android Studio 和 Gradle 的代理配置状态,并尝试测试网络连通性。你可以根据实际情况修改代理地址和端口。


自动检测 Android Studio & Gradle 代理配置的 PowerShell 脚本示例

 

# 配置代理参数(请根据实际情况修改)

$proxyHost = "proxy.example.***"

$proxyPort = 8080

$proxyUser = "username" # 如无认证可留空

$proxyPassword = "password" # 如无认证可留空

# 检查 Android Studio 代理设置(简单检测环境变量)

Write-Host "==== 检查环境变量 HTTP_PROXY 和 HTTPS_PROXY ===="

Write-Host "HTTP_PROXY: " $env:HTTP_PROXY

Write-Host "HTTPS_PROXY: " $env:HTTPS_PROXY

Write-Host ""

# 检查 gradle.properties 配置(默认用户目录)

$gradlePropsPath = "$env:USERPROFILE\.gradle\gradle.properties"

if (Test-Path $gradlePropsPath) {

Write-Host "==== 读取 gradle.properties 文件内容 ===="

Get-Content $gradlePropsPath | Select-String "proxy"

} else {

Write-Host "未找到 gradle.properties 文件,路径:" $gradlePropsPath

}

Write-Host ""

# 测试通过代理访问 Gradle 服务

Write-Host "==== 测试通过代理访问 https://services.gradle.org/ ===="

$proxyUri = "http://$proxyHost`:$proxyPort"

if ($proxyUser -and $proxyPassword) {

# 如果需要身份认证,使用 WebClient 配置代理认证

$credCache = New-Object System.***.CredentialCache

$cred = New-Object System.***.***workCredential($proxyUser, $proxyPassword)

$credCache.Add($proxyUri, "Basic", $cred)

$webClient = New-Object System.***.WebClient

$webClient.Proxy = New-Object System.***.WebProxy($proxyUri)

$webClient.Proxy.Credentials = $credCache

try {

$content = $webClient.DownloadString("https://services.gradle.org/")

Write-Host "通过代理访问成功,内容长度:" $content.Length

} catch {

Write-Host "通过代理访问失败,错误信息:" $_.Exception.Message

}

} else {

# 无认证代理,直接设置代理

$webClient = New-Object System.***.WebClient

$webClient.Proxy = New-Object System.***.WebProxy($proxyUri)

try {

$content = $webClient.DownloadString("https://services.gradle.org/")

Write-Host "通过代理访问成功,内容长度:" $content.Length

} catch {

Write-Host "通过代理访问失败,错误信息:" $_.Exception.Message

}

}

Write-Host "检测完成。"

php

1.77 KB

© 菜鸟-创作你的创作


使用说明

  1. 将脚本保存为 check_android_proxy.ps1
  2. 修改脚本里 $proxyHost$proxyPort$proxyUser$proxyPassword 变量为你的代理信息。
  3. 以管理员权限打开 PowerShell,执行:Set-ExecutionPolicy RemoteSigned 允许本地脚本运行。
  4. 运行脚本:.\check_android_proxy.ps1

好,这里给你写一个 Linux/macOS 下的 Bash 版本代理检测脚本,功能包括:

  • 打印当前环境变量 HTTP_PROXY 和 HTTPS_PROXY
  • 检查 ~/.gradle/gradle.properties 文件里的代理相关配置
  • 使用 curl 通过代理测试访问 Gradle Services
  • 简单错误提示

 

#!/bin/bash

# 代理配置(修改为你的代理地址和端口)

PROXY_HOST="proxy.example.***"

PROXY_PORT=8080

# 如果代理需要用户名密码,格式如下:

# PROXY_USER="username"

# PROXY_PASS="password"

# 代理认证参数,留空表示无认证

PROXY_AUTH=""

# 读取环境变量

echo "==== 当前环境变量 ===="

echo "HTTP_PROXY=$HTTP_PROXY"

echo "HTTPS_PROXY=$HTTPS_PROXY"

echo ""

# 检查 gradle.properties 文件代理配置

GRADLE_PROPS="$HOME/.gradle/gradle.properties"

if [[ -f "$GRADLE_PROPS" ]]; then

echo "==== ~/.gradle/gradle.properties 中的代理配置 ===="

grep -i proxy "$GRADLE_PROPS" || echo "没有找到代理相关配置"

else

echo "未找到文件 ~/.gradle/gradle.properties"

fi

echo ""

# 构建 curl 代理参数

if [[ -n "$PROXY_USER" && -n "$PROXY_PASS" ]]; then

PROXY_AUTH="-U $PROXY_USER:$PROXY_PASS"

fi

PROXY="$PROXY_HOST:$PROXY_PORT"

echo "==== 测试通过代理访问 https://services.gradle.org/ ===="

curl -x "$PROXY" $PROXY_AUTH -I --connect-timeout 10 https://services.gradle.org/ \

&& echo "通过代理访问成功" \

|| echo "通过代理访问失败"

echo ""

echo "检测完成。"

php

926 Bytes

© 菜鸟-创作你的创作


使用方法

  1. 将脚本保存为 check_android_proxy.sh
  2. 修改变量 PROXY_HOSTPROXY_PORT,以及需要时添加 PROXY_USER 和 PROXY_PASS
  3. 给脚本执行权限:
 

chmod +x check_android_proxy.sh

php

31 Bytes

© 菜鸟-创作你的创作

  1. 运行脚本:
 

./check_android_proxy.sh

php

24 Bytes

© 菜鸟-创作你的创作

好的,我帮你写一个更高级的 Bash 脚本,自动检测 Android Studio 和 Gradle 代理配置,并收集详细日志信息,方便排查问题。这个脚本会:

  • 打印环境变量代理设置
  • 读取并打印 gradle.properties 中的代理配置
  • 测试通过代理访问 Gradle 服务
  • 记录所有日志到一个文件,方便后续查看
  • 支持简单交互,提示用户输入代理信息

高级 Android Studio 代理检测脚本(Bash)

 

#!/bin/bash

LOGFILE="android_proxy_check_$(date +%Y%m%d_%H%M%S).log"

echo "=== Android Studio & Gradle 代理检测脚本 ===" | tee "$LOGFILE"

echo "检测时间:$(date)" | tee -a "$LOGFILE"

echo "" | tee -a "$LOGFILE"

# 读取环境变量

echo "---- 当前环境变量 ----" | tee -a "$LOGFILE"

echo "HTTP_PROXY=$HTTP_PROXY" | tee -a "$LOGFILE"

echo "HTTPS_PROXY=$HTTPS_PROXY" | tee -a "$LOGFILE"

echo "" | tee -a "$LOGFILE"

# 读取 gradle.properties 文件

GRADLE_PROPS="$HOME/.gradle/gradle.properties"

if [[ -f "$GRADLE_PROPS" ]]; then

echo "---- ~/.gradle/gradle.properties 文件内容中代理配置 ----" | tee -a "$LOGFILE"

grep -i proxy "$GRADLE_PROPS" | tee -a "$LOGFILE"

if [ ${PIPESTATUS[0]} -ne 0 ]; then

echo "没有找到代理相关配置" | tee -a "$LOGFILE"

fi

else

echo "未找到文件 ~/.gradle/gradle.properties" | tee -a "$LOGFILE"

fi

echo "" | tee -a "$LOGFILE"

# 提示用户输入代理信息(可回车跳过)

read -p "请输入代理地址 (host:port),直接回车跳过: " PROXY_INPUT

if [[ -n "$PROXY_INPUT" ]]; then

PROXY="$PROXY_INPUT"

else

# 尝试从环境变量中读取代理地址

PROXY="${HTTP_PROXY#http://}"

PROXY="${PROXY%%/*}" # 截断参数

if [[ -z "$PROXY" ]]; then

echo "未检测到有效代理地址,跳过网络测试。" | tee -a "$LOGFILE"

exit 0

fi

fi

read -p "代理是否需要认证?(y/n): " AUTH_CHOICE

if [[ "$AUTH_CHOICE" == "y" || "$AUTH_CHOICE" == "Y" ]]; then

read -p "请输入用户名: " PROXY_USER

read -sp "请输入密码: " PROXY_PASS

echo ""

PROXY_AUTH="-U $PROXY_USER:$PROXY_PASS"

else

PROXY_AUTH=""

fi

echo "" | tee -a "$LOGFILE"

echo "---- 测试通过代理访问 https://services.gradle.org/ ----" | tee -a "$LOGFILE"

curl -x "$PROXY" $PROXY_AUTH -I --connect-timeout 10 https://services.gradle.org/ 2>&1 | tee -a "$LOGFILE"

if [[ ${PIPESTATUS[0]} -eq 0 ]]; then

echo "通过代理访问成功" | tee -a "$LOGFILE"

else

echo "通过代理访问失败" | tee -a "$LOGFILE"

fi

echo "" | tee -a "$LOGFILE"

echo "检测完成,日志保存到 $LOGFILE"

php

1.76 KB

© 菜鸟-创作你的创作


使用说明

  1. 保存脚本为 android_proxy_advanced_check.sh
  2. 赋予执行权限:
 

chmod +x android_proxy_advanced_check.sh

php

40 Bytes

© 菜鸟-创作你的创作

  1. 运行脚本:
 

./android_proxy_advanced_check.sh

php

33 Bytes

© 菜鸟-创作你的创作

  1. 按提示输入代理地址和认证信息(如果需要),脚本会自动测试并保存详细日志。

明白!这里给你写一个 Windows PowerShell 版的高级代理检测与日志收集脚本,功能包括:

  • 显示当前环境变量 HTTP_PROXYHTTPS_PROXY
  • 读取用户目录下 gradle.properties 文件中代理相关配置
  • 让你交互式输入代理地址和认证(可选)
  • 用代理测试访问 https://services.gradle.org/
  • 全部输出和错误日志保存到时间戳命名的日志文件
  • 运行简单,方便排查 Android Studio 和 Gradle 代理问题

 

# 保存为 android_proxy_advanced_check.ps1

$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"

$logFile = "$PWD\android_proxy_check_$timestamp.log"

function Write-Log {

param([string]$message)

$message | Tee-Object -FilePath $logFile -Append

}

Write-Log "=== Android Studio & Gradle 代理检测脚本 ==="

Write-Log "检测时间:$(Get-Date)"

Write-Log ""

# 显示环境变量

Write-Log "---- 当前环境变量 ----"

Write-Log "HTTP_PROXY: $env:HTTP_PROXY"

Write-Log "HTTPS_PROXY: $env:HTTPS_PROXY"

Write-Log ""

# 读取 gradle.properties 文件

$gradlePropsPath = "$env:USERPROFILE\.gradle\gradle.properties"

if (Test-Path $gradlePropsPath) {

Write-Log "---- gradle.properties 文件代理配置 ----"

Select-String -Path $gradlePropsPath -Pattern "proxy" | ForEach-Object {

Write-Log $_.Line

}

} else {

Write-Log "未找到文件 gradle.properties,路径: $gradlePropsPath"

}

Write-Log ""

# 交互输入代理地址

$proxyInput = Read-Host "请输入代理地址(host:port),直接回车跳过"

if ([string]::IsNullOrWhiteSpace($proxyInput)) {

# 尝试从环境变量中提取代理

if ($env:HTTP_PROXY) {

$proxyInput = $env:HTTP_PROXY -replace "^http://", ""

$proxyInput = $proxyInput.Split("/")[0]

Write-Log "自动从环境变量获取代理地址: $proxyInput"

} else {

Write-Log "未检测到有效代理地址,跳过网络测试。"

Write-Log "检测完成,日志保存到 $logFile"

exit

}

}

# 代理认证交互

$authChoice = Read-Host "代理是否需要认证?(y/n)"

$proxyUser = ""

$proxyPass = ""

if ($authChoice -eq "y" -or $authChoice -eq "Y") {

$proxyUser = Read-Host "请输入用户名"

$proxyPass = Read-Host "请输入密码(输入不会隐藏)"

}

Write-Log ""

Write-Log "---- 测试通过代理访问 https://services.gradle.org/ ----"

try {

$webClient = New-Object System.***.WebClient

$proxyUri = "http://$proxyInput"

$webProxy = New-Object System.***.WebProxy($proxyUri)

if ($proxyUser -and $proxyPass) {

$credentials = New-Object System.***.***workCredential($proxyUser, $proxyPass)

$webProxy.Credentials = $credentials

}

$webClient.Proxy = $webProxy

$response = $webClient.DownloadString("https://services.gradle.org/")

Write-Log "通过代理访问成功,内容长度: $($response.Length)"

} catch {

Write-Log "通过代理访问失败,错误信息: $($_.Exception.Message)"

}

Write-Log ""

Write-Log "检测完成,日志保存到 $logFile"

php

2.11 KB

© 菜鸟-创作你的创作


运行说明:

  1. 将脚本保存为 android_proxy_advanced_check.ps1
  2. 以管理员身份打开 PowerShell,执行:
 

Set-ExecutionPolicy RemoteSigned

php

32 Bytes

© 菜鸟-创作你的创作

允许本地脚本运行。

  1. 执行脚本:
 

.\android_proxy_advanced_check.ps1

php

34 Bytes

© 菜鸟-创作你的创作

  1. 按提示输入代理地址和认证信息(如果需要),脚本自动测试并保存详细日志。

明白!这里帮你设计一个简易的 Windows GUI 工具思路和示例代码,基于 PowerShell 和 WinForms,方便你直观地查看和设置 Android Studio 代理,并一键检测代理连通性,自动生成日志。


方案思路

  • 用 PowerShell + WinForms 做简单界面
  • 输入框填写代理地址(host:port)、用户名和密码
  • 按钮执行代理连通性检测
  • 文本框显示检测日志和结果
  • 保存日志到当前目录文件
  • 适合快速二次开发

简易 PowerShell WinForms 代理检测工具示例

 

Add-Type -AssemblyName System.Windows.Forms

Add-Type -AssemblyName System.Drawing

# 创建窗体

$form = New-Object System.Windows.Forms.Form

$form.Text = "Android Studio 代理检测工具"

$form.Size = New-Object System.Drawing.Size(500,400)

$form.StartPosition = "CenterScreen"

# 代理地址标签和输入框

$labelProxy = New-Object System.Windows.Forms.Label

$labelProxy.Location = New-Object System.Drawing.Point(10,20)

$labelProxy.Size = New-Object System.Drawing.Size(100,20)

$labelProxy.Text = "代理地址 (host:port):"

$form.Controls.Add($labelProxy)

$textProxy = New-Object System.Windows.Forms.TextBox

$textProxy.Location = New-Object System.Drawing.Point(120,18)

$textProxy.Size = New-Object System.Drawing.Size(350,20)

$form.Controls.Add($textProxy)

# 用户名标签和输入框

$labelUser = New-Object System.Windows.Forms.Label

$labelUser.Location = New-Object System.Drawing.Point(10,60)

$labelUser.Size = New-Object System.Drawing.Size(100,20)

$labelUser.Text = "用户名 (可选):"

$form.Controls.Add($labelUser)

$textUser = New-Object System.Windows.Forms.TextBox

$textUser.Location = New-Object System.Drawing.Point(120,58)

$textUser.Size = New-Object System.Drawing.Size(150,20)

$form.Controls.Add($textUser)

# 密码标签和输入框

$labelPass = New-Object System.Windows.Forms.Label

$labelPass.Location = New-Object System.Drawing.Point(280,60)

$labelPass.Size = New-Object System.Drawing.Size(80,20)

$labelPass.Text = "密码 (可选):"

$form.Controls.Add($labelPass)

$textPass = New-Object System.Windows.Forms.TextBox

$textPass.Location = New-Object System.Drawing.Point(360,58)

$textPass.Size = New-Object System.Drawing.Size(110,20)

$textPass.UseSystemPasswordChar = $true

$form.Controls.Add($textPass)

# 运行按钮

$btnTest = New-Object System.Windows.Forms.Button

$btnTest.Location = New-Object System.Drawing.Point(10, 100)

$btnTest.Size = New-Object System.Drawing.Size(460,30)

$btnTest.Text = "测试代理连接"

$form.Controls.Add($btnTest)

# 日志显示文本框

$textLog = New-Object System.Windows.Forms.TextBox

$textLog.Location = New-Object System.Drawing.Point(10, 140)

$textLog.Size = New-Object System.Drawing.Size(460, 210)

$textLog.Multiline = $true

$textLog.ScrollBars = "Vertical"

$textLog.ReadOnly = $true

$form.Controls.Add($textLog)

# 日志写入函数

function Write-Log {

param($msg)

$textLog.AppendText($msg + "`r`n")

}

# 按钮点击事件

$btnTest.Add_Click({

$textLog.Clear()

Write-Log "开始代理检测..."

$proxy = $textProxy.Text.Trim()

if ([string]::IsNullOrEmpty($proxy)) {

Write-Log "代理地址不能为空!"

return

}

$user = $textUser.Text.Trim()

$pass = $textPass.Text

$webClient = New-Object System.***.WebClient

$webProxy = New-Object System.***.WebProxy("http://$proxy")

if ($user -ne "" -and $pass -ne "") {

$credentials = New-Object System.***.***workCredential($user, $pass)

$webProxy.Credentials = $credentials

Write-Log "使用认证代理"

} else {

Write-Log "使用无认证代理"

}

$webClient.Proxy = $webProxy

try {

$url = "https://services.gradle.org/"

Write-Log "访问 $url ..."

$result = $webClient.DownloadString($url)

Write-Log "访问成功,内容长度: $($result.Length)"

$logFile = "$PWD\android_proxy_test_log_$(Get-Date -Format 'yyyyMMdd_HHmmss').txt"

$result | Out-File -FilePath $logFile -Encoding UTF8

Write-Log "响应内容保存到 $logFile"

}

catch {

Write-Log "访问失败: $($_.Exception.Message)"

}

})

# 显示窗体

[void]$form.ShowDialog()

php

3.32 KB

© 菜鸟-创作你的创作


使用说明

  1. 将上述代码保存为 AndroidProxyTest.ps1
  2. 在管理员权限 PowerShell 里执行Set-ExecutionPolicy RemoteSigned
  3. 运行脚本.\AndroidProxyTest.ps1
  4. 在弹出窗口中输入代理地址(必填),用户名和密码(可选)
  5. 点击“测试代理连接”,窗口下方显示测试日志,成功时会保存响应内容到日志文件

【Android Studio】为Android Studio设置HTTP代理 - 菜鸟-创作你的创作

转载请说明出处内容投诉
CSS教程网 » 【Android Studio】为Android Studio设置HTTP代理

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买