use*_*861 5 networking android ethernet wifi
我有一个运行Android的小电视盒设备.每当我打开Wi-Fi接口时,以太网接口都会断开连接.如果我然后打开以太网设备,Wi-Fi接口.我尝试了各种方法,包括使用命令行手动调出接口,并出现同样的问题.我希望能够连接到Wi-Fi并将其作为我的默认网关,但也可以连接到以太网端口以通过该接口路由某些流量.显然这可以在Linux中完成,所以必须有一种方法......有人知道在启动另一个时拆除接口是什么意思...
这是Android的限制.它故意只允许一个连接一次启动,并且在"ConnectivityServices.java"文件中有一个处理程序,当启用具有优先级的网络时,该文件将拆除"非首选"网络.这也是在公认的热点范围内带来wifi并消除蜂窝数据连接的原因......
万一有人需要这个,这就是我做的:
在设备上下载Android版本的AOSP源代码.
相应地编辑'ConnectivityServices.java'文件.我基本上只是在连接更改处理程序中的故障转移命令中注释掉了该命令.我没有在我面前的源代码所以请告诉我,如果你需要知道我在这里做了什么...
无论如何,然后在您的机器上构建AOSP源代码.
完成后,获取已创建的/ dexclasses /目录中的'services.jar'文件.使用WinRAR将其解压缩,然后将.jar文件中的"classes.dex"文件复制到单独的目录中.使用它来提取classes.dex:https://code.google.com/p/smali/ 抓住'ConnectivityServices.smali'文件并保证其安全.
从设备 进入要启用两个网络接口的设备,并将/system/framework/services.jar文件复制到PC.使用WinRAR将其解压缩,然后将.jar文件中的"classes.dex"文件复制到单独的目录中.使用Java Smali命令提取classes.dex.
从AOSP获取ConnectivityServices.smali文件并将其直接放入您刚刚使用设备上的classes.dex提取的文件中.在覆盖原始ConnectivityServices.smali文件之前备份它可能是个好主意.
然后使用baksmali命令简单地重新打包classes.dex文件.使用winRAR将classes.dex文件复制到原始的services.jar文件中.再次,备份原始文件,然后在.jar文件中覆盖它.
然后简单地将新的services.jar文件放回/ system/framework /目录中的设备上.
然后重新启动 - 第一次启动时需要比平时更长的时间.
| 归档时间: |
|
| 查看次数: |
13809 次 |
| 最近记录: |