Skip to content

Instantly share code, notes, and snippets.

@pellea
Created January 13, 2020 14:44
  • Star 4 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save pellea/9d1c39bbc561f781d4190f1d1439f653 to your computer and use it in GitHub Desktop.
Start ADB for WSL2 in Windows 10
$currentSript = $PSScriptRoot + "\adb-start.ps1"
$adbPath = "C:\Program Files (x86)\Android\android-sdk\platform-tools"
$adbPort = 5037
$adbListenAddress = '0.0.0.0'
$adbConnectAddress = '127.0.0.1'
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
if ($currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) -eq $FALSE)
{
Start-Process "powershell.exe" -ArgumentList $currentSript -WindowStyle hidden -Verb runAs
}
# Set ADB path
Set-Location $adbPath
# Remove port mapping
netsh interface portproxy delete v4tov4 listenport=$adbPort listenaddr=$adbListenAddress
# Kill server
./adb.exe kill-server
# Start server
./adb.exe start-server
# Add port mapping
netsh interface portproxy add v4tov4 listenport=$adbPort listenaddr=$adbListenAddress connectport=$adbPort connectaddr=$adbConnectAddress
# Display portproxy
netsh interface portproxy show v4tov4
# Start WSL
wsl --exec exit
# Remove firewall rule for WSL
Set-NetFirewallProfile -DisabledInterfaceAliases "vEthernet (WSL)"
@pellea
Copy link
Author

pellea commented Jun 17, 2020

@angelod1as If you don't want to use WSL you can simply remove the port mapping and restart your computer. There is no other windows settings changed. So if anything is still broken after that, I don't think that's from the script. You can also start again the environment using Visual Studio > Tools > Android > restart adb server.

@Sp4Rx
Copy link

Sp4Rx commented Sep 14, 2021

How to remove the DisabledInterfaceAliases ? @pellea

@pellea
Copy link
Author

pellea commented Sep 14, 2021

How to remove the DisabledInterfaceAliases ? @pellea

You can enable the firewall again in the normal windows settings UI.

@Sp4Rx
Copy link

Sp4Rx commented Sep 14, 2021

A screenshot would be helpful @pellea

Anyways on newer version of wsl we can access the windows version of adb inside wsl buy using adb.exe devices
To make thinks easier we can create an alias alias adb='adb.exe' in wsl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment