我编写了一个本机模块(在
rust
中)并将其连接到我的 Android
应用程序(通过 react-native
expo
)。
我只能向
HTTP
运行 http://10.0.2.2
请求。
我补充道:
<uses-permission android:name="android.permission.INTERNET"/>
和
android:networkSecurityConfig="@xml/network_security_config"
指向:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system"/>
</trust-anchors>
</base-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">127.0.0.1</domain>
<domain includeSubdomains="true">10.0.0.1</domain>
<domain includeSubdomains="true">10.0.2.2</domain>
<domain includeSubdomains="true">localhost</domain>
<domain includeSubdomains="true">ngrok-free.app</domain>
</domain-config>
</network-security-config>
但这并没有帮助。
对于造成的混乱,我深表歉意。
http://10.0.2.2
是 Android 模拟器用于访问开发计算机的本地主机的 IP 地址。如果您尝试从物理设备访问服务,您应该使用本地网络上开发计算机的实际 IP 地址,而不是 10.0.2.2。