Android USB反向网络共享:如何欺骗应用程序


18

USB反向网络共享=手机通过USB从PC获得网络连接。

除了一个问题,我知道如何进行USB反向绑定:许多Android应用程序会在执行任何有用的工作之前使用以下代码检查网络连接:

ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();

问题是,当使用USB反向绑定时,以上代码将报告没有网络连接。但是,存在网络连接(本身就是USB反向绑定),并且ping,wget和所有不执行此愚蠢检查的程序都可以正常工作。

因此,问题是:我该如何破解系统以使此网络连接检查返回成功(以便我可以欺骗这些应用程序)?

顺便说一句。我使用的是Cyanogenmod7。欢迎使用任何针对此MOD的解决方案。



Tony Beta Lambda发布了有效的解决方案-您应该考虑接受它。
迈克尔

Answers:



9

我会说只有 Mod专用解决方案。我所知道的几乎每个应用程序都使用此Android API,因此您的问题中插入了代码,以进行网络连接检查。

可能需要更改Cyanogen来源,以便操作系统(Android + Cyanogen)知道USB反向绑定网络连接,并将正确的信息返回给请求当前网络状态的应用程序。我不认为可以在API和应用程序之间使用一些虚假的层来“欺骗”应用程序。更现实的是,Cyanogen通过模仿活动的WiFi连接来实现反向网络共享的处理。您应该要求他们解决此主题。也许将来Android会正式支持反向网络共享。:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.