簡體   English   中英

如何從我的 Android 設備訪問我的本地主機?

[英]How can I access my localhost from my Android device?

我可以使用 Android 模擬器訪問我的筆記本電腦網絡服務器,我正在使用10.0.2.2:portno運行良好。

但是當我連接我真正的安卓手機時,手機瀏覽器無法連接到我筆記本電腦上的同一個網絡服務器。 手機使用 USB 數據線連接到筆記本電腦。 如果我運行 adb devices 命令,我可以看到我的手機。

我錯過了什么?

USB 不為移動設備提供網絡。

如果您的桌面和手機都連接到同一個 WiFi (或任何其他本地網絡),則使用路由器分配的桌面 IP 地址(不是localhost也不是127.0.0.1 )。

要找出您桌面的 IP 地址:

  • 在命令行中輸入ipconfig (Windows) 或ifconfig (Unix)
    • Linux 上的單行ifconfig | grep "inet " | grep -v 127.0.0.1 ifconfig | grep "inet " | grep -v 127.0.0.1 ifconfig | grep "inet " | grep -v 127.0.0.1只會產生重要的東西
    • 有很多關於如何在 Windows 上獲得類似輸出的建議
  • 會有一堆IP
  • 嘗試所有這些(除了前面提到的localhost127.0.0.1

如果您的手機已連接到移動網絡,那么事情會變得更加困難。

要么去鐵桿:

  • 首先找出您的路由器外部 IP 地址 ( https://www.google.de/search?q=myip )
  • 然后,在路由器上,將某個端口轉發到<your desktop IP>:<server port number>
  • 最后使用外部IP地址和轉發端口

否則使用類似xip.iongrok的東西。

注意ifconfig命令已被棄用,因此默認情況下在 Debian Linux 上缺失,從 Debian stretch 開始。 在 Debian Linux 上檢查網絡配置的新推薦替代方法是 ip 命令。 例如,要使用 ip 命令顯示網絡配置,請運行以下命令:

ip address

上面的ip命令可以簡寫為:

ip a

如果您仍然喜歡使用ifconfig作為日常系統管理例程的一部分,您可以輕松地將其安裝為net-tools包的一部分。

apt-get install net-tools

參考在這里

其實很簡單。

  • 打開您的 Android 手機/路由器的 WiFi 熱點並將您的筆記本電腦連接到您的手機
  • localhost啟動您的服務器(我正在使用 Windows 的 WAMP 服務器)
  • 現在打開命令提示符並輸入
ipconfig

完成后,您將看到類似以下內容:

Wireless LAN adapter Wireless Network Connection:
  Connection-specific DNS Suffix  . :
  Link-local IPv6 Address . . . . . : fe80::80bc:e378:19ab:e448%11
  IPv4 Address. . . . . . . . . . . : 192.168.43.76
  Subnet Mask . . . . . . . . . . . : 255.255.255.0
  Default Gateway . . . . . . . . . : 192.168.43.1
  • 復制 IPv4 地址(在本例中為192.168.43.76
  • 在您的移動瀏覽器中,只需粘貼 IPv4 地址

注意:請將您的網絡設置為“家庭網絡”。 將網絡設置為家庭網絡意味着您允許您的 PC 與同一網絡上的其他設備共享內容。

如果您使用的是 Windows 10,則可以通過以下方式完成:

  • 打開設置
  • 轉到網絡和互聯網
  • 在左側菜單中選擇WiFi
  • 點擊已連接 WiFi 的名稱
  • 將網絡的網絡配置文件設置為私有

如果您遇到問題,很可能與 Windows 防火牆有關。

  • 打開控制面板
  • 轉到Windows Defender 防火牆
  • 點擊允許應用程序或功能通過 Windows Defender 防火牆
  • 檢查應用程序是否啟用了私有網絡(應該有一個勾號)
  • 如果啟用,請點擊更改設置並勾選應用程序私有下的復選框

使用簡單的解決方案(只需從移動設備訪問laptop_ip_addr:port ,當手機和筆記本電腦在同一個WiFi上時),我得到一個ERR_CONNECTION_REFUSED錯誤。 也就是說,我的 MacBook 似乎拒絕來自我的手機的連接嘗試。


ADB 反向套接字(僅限 Android)

該解決方案適用於我(使用 MacBook 測試):

  1. 使用 USB 電纜將 Android 移動設備連接到筆記本電腦
  2. 在移動設備上啟用USB 調試
  3. 在筆記本電腦上,運行adb reverse tcp:4000 tcp:4000
    • 使用您的自定義端口號而不是4000
  4. 現在,在移動設備上,您可以導航到http://localhost:4000/ ,它實際上會連接到筆記本電腦,而不是移動設備

請參閱此處的說明。

缺點是這一次只能使用一個移動設備 如果你想用另一個移動設備訪問,你必須先斷開第一個(禁用USB 調試),連接新的(啟用USB 調試),然后再次運行adb reverse tcp:4000 tcp:4000

編輯:據報道,此解決方案也適用於 Windows。


ngrok(適用於所有設備)

另一個應該始終有效的解決方案是ngrok (如其他答案中所述)。 它在 Internet 上工作,而不是在本地網絡上工作。

它非常易於使用:

brew cask install ngrok
ngrok http 4000

除了一些其他信息之外,這會輸出一行,如

Forwarding                    http://4cc5ac02.ngrok.io -> localhost:4000

現在,您可以在任何連接到 Internet 的設備上導航到http://4cc5ac02.ngrok.io ,此 URL 將重定向到筆記本電腦的localhost:4000

請注意,只要 ngrok 命令正在運行(直到您按下Ctrl-C ),您的項目就會被公開提供。 擁有該 URL 的每個人都可以看到它。

Mac OS X用戶

我通過啟用遠程管理實現了這一點:

  • 確保您的手機和筆記本電腦連接到同一個WiFi 網絡
  • 在 Mac 上,轉到System preferences/sharing
  • 啟用遠程管理

您將看到與此類似的消息:

  • 其他用戶可以使用地址some.url.com管理您的計算機

在您的 Android 設備上,您現在應該可以訪問some.url.com ,它代表您 Mac 上的localhost 您還可以使用ifconfig獲取 Mac 的 IP 地址。


使用ngrok的便攜式解決方案(任何帶有 Node.js 的操作系統)

如果您不介意使用臨時域公開您的項目,您可以使用ngrok 假設我有一個在localhost:9460上運行的應用程序,我可以簡單地編寫

npm install ngrok -g

ngrok http 9460

這會給我:

Session Status                online
Update                        update available (version 2.2.8, Ctrl-U to update)
Version                       2.2.3
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://f7c23d14.ngrok.io -> localhost:9460
Forwarding                    https://f7c23d14.ngrok.io -> localhost:9460

Connections                   ttl     opn     rt1     rt5     p50     p90
                              0       0       0.00    0.00    0.00    0.00

我現在可以訪問https://f7c23d14.ngrok.io作為遠程查看localhost的一種方式。 這非常適合與客戶分享設計工作或進展。


使用nginx代理通行證的替代解決方案

如果您通過nginx proxy_pass運行類似的東西,則需要進行更多調整 - 這是一種 hacky 方法,但它適用於我,我願意接受有關改進它的建議:

  • 啟用遠程管理(如上所述)
  • 暫時將服務器設置為偵聽端口81而不是80
  • 輸入以下命令:
sudo nginx -s reload
  • 訪問http://youripaddress:81
server {
  listen 80;
  listen 81;   # <-------- add this to expose the app on a unique port
  server_name  ~^(local|local\.m).example.com$;
  # ...
}

重新加載並訪問http://youripaddress:81

當您的移動設備和計算機不在同一網絡中時,此解決方案可用:

在這種情況下,您需要使用端口轉發。 在 Google chrome 檢查窗口 (chrome://inspect) 中可以看到連接的設備。 在此處輸入圖像描述

單擊端口 fowading 按鈕,然后將隨機端口設置為 3000 到您的筆記本電腦使用的端口,例如 8080。

在此處輸入圖像描述

現在使用 localhost:3000 從設備訪問筆記本電腦中的 localhost:8080(or_whatever_ip:portno)。 您可以在手機瀏覽器中查看。 在移動瀏覽器中嘗試 localhost:3000。 確保選中“端口轉發設置”窗口中的“啟用端口轉發”復選框

我找到了一個快速解決這個問題的方法。 試試這個鏈接 它應該可以幫助您解決問題。

我只更改了一件事,教程指出您將“127.0.0.1”更改為“全部”,將其更改為您的服務器正在運行的 IP 地址。

之后,您應該能夠連接到您的本地主機。


以下是鏈接頁面中信息的(校對)副本:

步驟1

安裝 Wamp 服務器(或您喜歡的任何其他服務器)。

這是我所知道的設置本地服務器的最佳服務器之一。 如果您已安裝 Apache 或任何其他服務器,請忽略此步驟。

從這里下載並安裝 Wamp Server。

第2步

在 Windows 防火牆中為端口 80 添加新規則。

  1. 打開控制面板並選擇 Windows 防火牆。

  2. 從 Windows 防火牆設置頁面的左側面板中選擇高級設置。

  3. 從左側面板中選擇入站規則,然后選擇新建規則。

  4. 選擇端口並單擊下一步。

  5. 選擇“特定本地端口”單選按鈕並輸入 80 作為端口值。

  6. 保持允許連接不變並進入下一步。

  7. 保持配置文件選項不變,然后單擊下一步。

  8. 為您的新規則起一個好聽的名稱,然后單擊完成。

這將啟用對本地網絡 IP 的端口 80 訪問。

第 3 步

編輯 Wamp 服務器的 httpd.conf 文件以修復 403 錯誤。

我們需要編輯這個文件。 否則,當我們通過本地網絡 IP 訪問 localhost 時,會出現 403 禁止錯誤。

  1. 單擊 Wamp 服務器托盤圖標。

  2. 打開 Apache 服務器子菜單。

  3. 選擇 httpd.conf。

  4. 在 httpd.conf 文件中找到這部分配置:

     Directory “c:/wamp/www/” # # Possible values for the Options directive are “None”, “All”, # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that “MultiViews” must be named *explicitly* — “Options All” # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be “All”, “None”, or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride all # # Controls who can get stuff from this server. # # onlineoffline tag – don't remove Order Deny,Allow Deny from all Allow from 127.0.0.1

查找“127.0.0.1”並將其替換為“全部”,保存文件,然后重新啟動 Wamp 服務器。

第4步

查找您的本地網絡 IP。

  1. 打開命令提示符。

  2. 鍵入並輸入ipconfig命令。

  3. 就我而言,我的局域網地址是 10.0.0.2。

這是您通過 wifi 訪問 Android 手機上的本地主機所需的 IP。 要測試它是否正常工作,請在安裝了本地主機服務器的桌面瀏覽器中輸入此 IP 地址。 瀏覽器應該會成功顯示您的 localhost 頁面。 這將確保此本地網絡 IP 現在可以在您的 Android 手機上成功訪問。

我希望本教程能幫助您通過 wifi 訪問您的 localhost。

在 Windows PC 上,除了使用“ipconfig”命令找出您的 IPv4 地址外,您可能不需要做任何其他事情。

  • 第 1 步:使用 USB 數據線將手機連接到 PC。
  • 第 2 步:使用命令 'ipconfig' 找出您的 IPv4 地址(路由器的外部 IP),例如在我的情況下為 192.168.1.5。
  • 第 3 步:只需從手機瀏覽器訪問“192.168.1.5:8080”。 有用 !

其他環境詳細信息:Windows 7、Google Nexus 4 (4.2.2)、Tomcat 服務器、Grails 應用程序。

您還應該確保您在 AndroidManifest 文件中有訪問互聯網的權限:

<uses-permission android:name="android.permission.INTERNET"/>

然而,有一個更好的解決方案。 您可以使用 IP 地址“10.0.2.2”訪問您的主機。 這是由 Android 團隊以這種方式設計的。 因此,您的網絡服務器可以在 localhost 上完美運行,並且您可以從您的 Android 應用程序通過“http://10.0.2.2:8080”訪問它。

由於這是一個老問題,因此有一種非常簡單的新方法可以做到這一點。 下載ADB Chrome 擴展程序,然后按照以下說明進行操作:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging

“Android 版 Chrome 上的端口轉發使您可以輕松地在移動設備上測試您的開發站點。它通過在您的移動設備上創建一個偵聽 TCP 端口來工作,該端口映射到您的開發機器上的特定 TCP 端口。這些端口之間的流量通過 USB 傳輸,因此連接不依賴於您的網絡配置。”

更多詳細信息: https ://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding

以管理員身份運行 CMD

並在 CMD 屏幕上鍵入ipconfig ,屏幕將顯示文本

作為這張照片在此處輸入圖像描述

並且您可以使用此 ip 訪問您的本地主機,您必須連接到與您的 PC 連接到相同的網絡

Windows解決方案:

您無法查看您的網站,主要是因為您的防火牆(默認操作系統防火牆或防病毒防火牆)阻止了傳入連接。

在 Windows 防火牆上:

要允許特定端口上的傳入連接,請轉到:

控制面板 > Windows Defender 防火牆 > 高級設置 > 右鍵單擊​​入站規則 > 添加新規則。

然后 :

  1. 選擇“端口”單選按鈕。
  2. 輸入您要啟用傳入連接的特定端口/范圍(您的服務器正在運行的端口)
  3. 選擇“允許連接”單選按鈕。
  4. 單擊下一步(除非您想更改默認值)
  5. 為您的規則命名,然后單擊完成。

筆記:

如果您使用的是具有防火牆的防病毒軟件,則上述步驟將不起作用,因為防病毒軟件會禁用 Windows 防火牆,而是運行自己的防火牆。

在這種情況下,根據防病毒程序,轉到防病毒軟件的防火牆設置並打開端口。

嘗試轉到此文件: C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf

#   onlineoffline tag - don't remove
    Order Deny,Allow
    Allow from all // change it Deny
    Allow from 127.0.0.1

並將 10.0.2.2 更改為您的 IP 地址。

您可能讓您的網絡服務器在您的環回接口而不是您的網絡接口上偵聽。 這方面的主要跡象是:

  • 點擊127.0.0.1localhost (來自 localhost 或 Android 模擬器)工作
  • 192.168.xxx.xxx的點擊不起作用,無論是來自 localhost、LAN 還是 WAN

我在這里的答案中更多地討論了診斷和解決此問題。

在您的 ubuntu/Macbook 中使用它來獲取系統的 IP 地址。 您的手機和系統應該在同一個網絡中

ip addr | grep inet ip addr | grep inet這將為您提供一個類似於192.168.168.46的 IP 地址。 在您的智能手機中使用它。

希望這可以幫助。

我使用了這個過程:

  • 在 PC 上安裝Fiddler
  • 按照這些出色的說明設置 PC 和 Android 設備
  • 只需在 Android 設備上的瀏覽器中輸入 http://ipv4.fiddler 即可訪問 localhost

請注意,此過程要求您在每次會話開始和結束時更改 Android 設備上的 WiFi 設置。 我發現這比扎根我的 Android 設備更痛苦。

ngrok允許您將 localhost 放到臨時服務器上,並且設置起來非常簡單。 我在這里提供了一些步驟,可以在鏈接中找到:

  1. 從上面的鏈接下載 ngrok zip
  2. 打開拉鏈
  3. 在本地運行您的服務器並記下端口號
  4. 在終端中,轉到 ngrok 所在的文件夾並鍵入ngrok http [port number]

您將在終端中看到一個小儀表板,其地址指向您的本地主機。 將您的應用程序指向該地址並構建到您的設備。

終於在 Ubuntu 中完成了,我在 localhost:8080 上運行 nodejs 服務器

1) 打開終端類型 ifconfig 你會得到類似這樣的 ip:inet addr:192.168.43.17

2)現在簡單地輸入這樣的url地址:“192.168.43.17:8080”(8080端口來自本地主機端口號)例如:“192.168.43.17:8080/fetch”

默認 localhost 的更簡單方法是使用http://localhost:port 這也適用於筆記本電腦和 Android。

如果它不起作用,那么在 android 中將手機的默認 IP 設置為 127.0.0.1:port :)

打開終端並輸入:-

 hostname -i
 #127.0.0.1
 hostname -I
 #198.168.*.*

如果您使用的是真實設備並且仍然遇到問題,請按照以下步驟操作,因為這些步驟可以幫助我解決問題:

  1. 確保移動設備和筆記本電腦都在同一個 WiFi 網絡上。
  2. 驗證您的目標 URL 是否有端口號,如下所示: https://localhost:44301
  3. 在 Android Studio 終端上運行此命令, adb reverse tcp:44301 tcp:44301
  4. 用您的port number替換44301

希望您能夠毫無問題地運行。

Happy codding

這對我有用,我在 127.0.0.1 ip 之后添加了另一行來指定我想使用的設備的確切本地網絡 IP 地址(不是公共 IP 地址)。 就我而言,我的三星 Galaxy S3

根據 Bangptit 的建議,編輯 httpd.conf 文件(x 是版本號): C:\wamp\bin\apache\Apache2.xx\conf\httpd.conf

搜索 onlineoffline 標簽並添加你手機的 ip(我在我的路由器配置頁面中找到了我的手機 ip 地址):

onlineoffline 標簽 - 不要刪除

 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1

我的手機 ip 在下面一行

 Allow from 192.168.1.65 
 Allow from ::1
 Allow from localhost

也可以將其擴展到包括整個子域,例如 192.168.1.0/24 等

基於我的筆記本電腦將我的移動設備連接到我的 wamp 服務器的解決方案:

首先,wifi不是路由器。 因此,要將我的移動設備連接到我筆記本電腦上基於 localhost 的 wamp 服務器,我需要一個路由器。 我已經下載並安裝了一個免費的虛擬路由器: https ://virtualrouter.codeplex.com/

配置它非常簡單:

  1. 右鍵單擊系統托盤中的虛擬路由器圖標
  2. 點擊配置虛擬路由器
  3. 填寫密碼
  4. 如果您的互聯網連接在以太網中,請選擇共享連接:以太網
  5. 然后在您的筆記本電腦和設備上設置 wifi
  6. 在您的設備上連接到虛擬路由器網絡名稱

然后您可以通過啟動瀏覽器通過您的設備連接到您的筆記本電腦並填寫筆記本電腦的 IPV4 地址(要在 Windows 上找到它,輸入 cmd : ipconfig,然后找到 ipv4 地址)

您應該會看到您的 wamp 服務器主頁。

使用幾個不同的本地主機服務器遇到了這個問題。 最終,只需使用 Python 簡單服務器,我的應用程序就可以在幾秒鍾內在手機上啟動並運行。 它只需要幾秒鍾,所以在進入任何更復雜的解決方案之前值得一試。 首先,確保您已安裝 Python。 cmd+r並在 Windows 中輸入python或在 mac 終端中輸入$ python --version

下一個:

cd <your project root>

$ python -m SimpleHTTPServer 8000

然后只需在網絡上找到您的主機地址,我使用 Mac 上的System Preferences/Sharing找到它。 將其點擊到您的 Android 設備中,應該會加載您的index.html ,您應該會很好。

如果不是,則問題出在其他問題上,您可能需要研究其他一些建議的解決方案。 祝你好運!

* 編輯 *

如果您使用的是 Chrome,另一個可以嘗試的快速解決方案是 Web Server for Chrome 擴展。 我發現這是一種在手機上訪問 localhost 的快速且超級簡單的方法。 只需確保在Options下選中Accessible to local network ,它應該可以在您的手機上正常工作。

在此處輸入圖像描述

首先將手機和電腦連接到普通wifi。

然后,使用以管理員身份運行打開命令提示符

給出 ipconfig 命令

哪個顯示無線局域網ip

使用服務器的 ip:port 訪問手機

最簡單的方法(這對我來說完美無缺)是在0.0.0.0:<port_no>本地托管您的網站並使用移動設備訪問它,在瀏覽器中使用<local_ipv4_address>:<port_no>/<path>

  • 要知道你本地的 ipv4 地址,只需在 cmd 中輸入ipconfig
  • 任何連接到相同網絡的設備都可以訪問此 URL。

Ngrok是最好的解決方案。 如果你正在開發 PHP,那么我推薦安裝Laravel Valet ,它有 MacOS 和 Linux 版本,那么你可以使用valet share命令。 如果你正在開發任何前端技術並且需要共享一個像 3000 這樣的端口,那么直接使用 ngrok ngrok http 3000


Xampp & ngrok

您還可以在 Windows 中將 ngrok 與 Xampp 一起使用。 您可以使用以下過程。 這很容易和簡單。

  1. ngrok上注冊一個免費帳戶
  2. 下載部分下載 ngrok 文件並打開它在此處輸入圖像描述

請注意您的 Apache 服務器正在運行的端口。 我的情況是80

在此處輸入圖像描述

  1. 在 ngrok 命令行中,輸入 ngrok http YOUR_PORT 並復制轉發地址在此處輸入圖像描述

現在您可以在任何設備(即您的物理 android 設備)上使用此轉發鏈接,它將托管您的 localhost 服務器。 例如,

代替

http://localhost/my-files/

http://YOUR_FORWARDING_ADDRESS/my-files/

首先讓你的機器(服務器運行的地方)IP地址是靜態的。 在 android 代碼中輸入此靜態 IP 地址。 接下來轉到您的wifi路由器界面並檢查左側面板。 您將看到諸如端口轉發/轉發之類的選項。 單擊它並轉發端口 80。現在編輯您的htttpd.conf文件並對其進行編輯

全部允許

. 重新啟動您的服務器。 現在一切都應該正常了。

此外,您可以保留機器的 IP 地址,以便始終分配給您。 在路由器界面的左側面板中,找到DHCP -> Address Reservation ,單擊它。 輸入您機器的 MAC 地址和您在代碼中輸入的 IP 地址。 點擊保存。 這將為您的機器保留給定的 IP 地址。

為未來的開發人員添加解決方案。

復制您的IP地址的地址。 右鍵單擊您的網絡->網絡和共享->單擊您當前擁有的連接->詳細信息->然后ipv4地址旁邊的地址是您的IP地址,請在某處記下

轉到控制面板 -> 系統和安全 -> windows 防火牆 -> 高級設置 -> 入站規則 -> 新規則(按照步驟添加端口,例如 80,它真的很簡單)

將您在手機瀏覽器上記下的 IP 地址和您為其創建規則的端口號放在旁邊。 例如 192.168.0.2:80 和 wala。

如果它沒有連接可能的解決方案。 右鍵單擊網絡->打開網絡和共享->查看活動連接,在連接類型下的連接名稱下,如果它是公共的,請單擊它,並確保將其更改為家庭網絡。

雖然一個答案已被接受,但這對我有用:

  1. 確保您的計算機和安卓設備都在同一個網絡上。
  2. 獲取您計算機的 IP 地址。 (如果在終端內使用 mac 類型ifconfig並查找en0/en1 -> inet它應該類似於19*.16*.1.4 。)(在 Windows 上,使用 `ipconfig)
  3. 打開您的移動設置並轉到網絡-> 長按您的 wifi 網絡-> 修改網絡-> 向下滾動到高級選項-> 選擇代理手冊並在代理主機名中輸入您的地址,即19*.16*.1.4內部端口輸入您的港口。 並保存它。

  4. 在谷歌瀏覽器中搜索what is my ip ,並獲取你的 ip,假設它是1**.1**.15*.2**

  5. 嘗試從您的移動設備訪問1**.1**.15*.2**:port/

就這么簡單。

什么對我有用(目標:從運行在 android 手機上的客戶端應用程序調試在 localhost:99999 上運行的 Windows 服務器應用程序)

  1. 手機和電腦連接在同一網絡上,例如 192.168.1.xxx(在我的情況下通過 wifi 連接)
  2. 在 windows 防火牆中啟用端口 99999
  3. 以管理員身份在 cmd 中運行:netsh http add urlacl url=http://*:99999/ user=Everyone

然后可以從手機訪問服務應用程序 url (my_dev_machine_ip:99999/path_to_service)。

它非常簡單, - GOTO 命令行(Window + R [type cmd]) - 輸入 ipconfig ,這將顯示您 PC 的當前 IP 地址 - 在您的 Android 手機瀏覽器上寫下 taht IP 地址:80 例如( http:// 192.168.xx:80 )

完畢

localhost 將出現在您的手機上

簡單的。 首先讓你的安卓設備和電腦連接在同一個網絡上。例如路由器通過windows+R打開命令提示符並搜索cmd然后打開。 在命令上鍵入 ipconfig 並獲取 ipv4 地址。

注意:防火牆會阻止您通過網絡訪問您的計算機,因此無論是公共的還是私有的,您都需要關閉網絡的防火牆。

如何關閉防火牆 打開控制面板 > 系統和安全 > windows 防火牆 > 在左側窗格中選擇打開和關閉 windows 防火牆。 > 然后選擇關閉windows防火牆(不推薦)

你完成了

然后打開您的移動設備並運行您的 ip 地址 192.168.1.xxx


要檢查的另一件事是,當啟用 2.4G 和 5G 並且設備處於不同頻率時,某些路由器會出現橋接請求的問題。 嘗試禁用其中一個頻率,以便兩個設備連接到同一接口。

基於 Ilya Saunkin 的回答,這里有一個命令應該輸出您的 IP 地址,格式為超鏈接 - 只需將 3000 替換為您的端口號:

ifconfig | grep "inet " | grep -v 127.0.0.1 | sed 's/netmask.*//g' | sed 's/inet//g' | awk '{print "http://"$1":3000/"}'

根據您運行命令的位置,您應該能夠(在 Mac 上)按住命令鍵並單擊/雙擊以打開鏈接。

使用 USB 電纜:

(例如,如果您使用 WAMP 服務器):

1) 在您的 PC 上安裝您的 Android 驅動程序並下載便攜式Android Tethering Reverse Tool並通過Reverse Tool 應用程序連接您的 Android 設備。

2) 點擊 WAMP 圖標 > 上線(重啟后)。

3)在安卓瀏覽器中打開你的IP(即http://192.168.1.22http://164.92.124.42

要查找您的本地 IP 地址,請單擊開始>運行>cmd並鍵入ipconfig ,您的 IP 地址將顯示在輸出中。

就這樣。 現在您可以從 Android 訪問(打開)localhost。

使用connectifyxampp或等效的,並在移動 URL 欄上鍵入 ip 地址以訪問

我個人在使用設備時並不堅持使用localhost,沒有簡單的解決方案。

只需啟動您連接到本地主機的活動,您可以在其中使用模擬器。 您必須從設備獲取的任何信息都可以輕松生成,並可以作為參數發送到活動。

在 linux 上使用ip addr而不是ifconfig因為ifconfig已被棄用多年,並且在最近的發行版中默認未安裝

以上對我不起作用。 這適用於 Mac:

在終端:

ifconfig

然后取inet后面的號碼,放到手機瀏覽器中:

在此處輸入圖像描述

如果您的服務器位於 8080,則在 Mac 上在終端中運行此命令

echo "
rdr pass inet proto tcp from any to any port 8080 -> 127.0.0.1 port 8080
" | sudo pfctl -ef -

擁有一個 netconfig xml 並在 manifest.xml 中分配它是最好的解決方法。 這將繞過 androids 默認的 https only 約束。

在創建應用程序時,使用移動設備進行調試或渲染很有幫助。 可以使用帶有端口號的 IPv4 地址的移動設備訪問系統 localhost。 應該注意的是,要實現這一點,兩個設備都應該連接到同一個 wifi 或網絡,並且機器網絡應該是私有的。

這些答案都沒有提到從 Windows Defender 防火牆打開 Apache HTTP 服務器。 使用 XAMPP v. 5.6.40,您可以嘗試以下解決方案:

  1. 轉到 Windows Defender 防火牆,單擊入站規則並查找Apache HTTP Server 此規則將有兩個實例。
  2. 雙擊它並將操作設置為允許連接
  3. 轉到 Advanced 選項卡,然后在 Profiles 部分中勾選DomainPrivatePublic選項。
  4. 轉到協議和端口選項卡並配置您的本地端口。 默認情況下,XAMPP 服務器在 80 端口上運行。如果您使用多個端口進行 Web 開發,只需在每個端口后放置逗號即可。
  5. 保存您的更改。 運行 cmd 並輸入ipconfig 記下您的 IP 地址。
  6. 從 XAMPP 控制面板重新啟動Apache 嘗試通過address:port/path訪問您的應用,其中 address 是您的 IP 地址,port 是您的端口(大多數情況下為 80),以及 /xampp/htdocs 中的項目路徑。

如果你在 Linux 上運行,這對我有用

sudo iptables -F

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM