AndroidStudio自带的模拟器不能上网

    技术2022-07-10  180

    AndroidStudio自带的模拟器不能上网

    通过百度/谷歌,最后发现确实是最经常出现的问题:电脑的DNS和模拟器的DNS不同

    查看电脑DNS

    cmd命令行输入 ipconfig /all

    查看模拟器DNS

    cmd命令行输入 adb root -> adb shell -> getprop 然后会出来一个列表,,找到n开头的 [net.dns1] 两个地方确实不一样,另外查看模拟器DNS的时候,网上还有另外一种方法,也是出来一个列表很多条目,但是其中没有[net.dns1]这一条

    设置模拟器DNS,将模拟器DNS和电脑的DNS设置成一样的

    .\emulator -avd 模拟器名 -dns-server 你自己的DNS地址 首先进入到Android的sdk下的emulator目录,在这里打开cmd命令行 输入以下命令:.\emulator -avd 模拟器名 -dns-server 你自己的DNS地址 模拟器名称不要有空格,输入完以后正常情况下,模拟器浏览器就可以打开百度了,如果不行继续往下看

    emulator: ERROR: Unknown AVD name [模拟器名], use -list-avds to see valid list.ANDROID_SDK_HOME is defined but there is no file 模拟器名.ini in $ANDROID_SDK_HOME\avd(Note: Directories are searched in the order $ANDROID_AVD_HOME, $ANDROID_SDK_HOME\avd and $HOME.android\avd)

    意思就是说找不到这个模拟器名字,而且虽然ANDROID_SDK_HOME已经被定义了,但是ANDROID_SDK_HOME/avd目录下并没有模拟器名字.ini文件 ANDROID_SDK_HOME是需要在环境变量中配置的,avd目录就是as下载模拟器存放的目录,正常在.android文件夹下,然后我把avd目录手动复制到ANDROID_SDK_HOME目录下,再运行设置模拟器的DSN命令行就可以了

    需要注意的是

    1.使用这种方法的时候,不能事先开启模拟器,因为会通过命令开启,不能同时有两个一样模拟器被开启 2.命令行被关闭的时候,模拟器也会被关闭

    参考链接 https://www.jianshu.com/p/cb738ad177ac.

    https://blog.csdn.net/huweiliyi/article/details/105343767?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.edu_weight.

    Processed: 0.012, SQL: 9