我正在开发我的hello-android应用程序,它涉及使用VpnService类来检查来自特定应用程序的流量(如果有人知道更好的方法,请告诉我)。这样做需要TUN / TAP驱动程序,它不包含在Verizon Galaxy Nexus中,模拟Galaxy Nexus或Verizon Moto X,也不能通过Tun.ko安装程序应用程序使用。
Android源代码似乎有点碎片,我试图找到一个理解事物的好资源。
具体做法是:
Google维护着8个内核源代码库,并将一些设备松散地映射到这些存储库。是否存在更全面的映射?
我目前使用的所有真实Android设备/模拟器都没有/proc/config.gz。 Verizon客户支持之前遇到过此问题,并表示制造商生成图像(Verizon将其英国媒体报道发送给他们以供收录)。设置页面指示内核是由Google中的机器人编译的。内核包含arch // configs中的一些默认配置,但使用它需要知道相应的git分支以及该目录中的相应配置。有一些迹象表明,对于星系连接,应该使用tuna_defconfig(尽管该文件并不总是存在于arm架构中)。有没有人知道确定要使用的正确内核配置的强大过程?
内核版本(本例中为g9f818de)没有出现在内核源代码库的git日志中(在本例中为omap,应该用于galaxy nexus)。有谁知道如何将内核构建号映射到源存储库/提交?
找到正确的源/版本/配置后,我还需要能够在非root设备上加载模块。使用测试模块的尝试会产生功能未实现或EACCESS(不记得消息)。
编辑:内部版本号 - > https://source.android.com/source/build-numbers.html中指示的标记映射似乎不适用于内核源代码(至少不适用于omap存储库)
任何有关全面和准确文档的指示都将不胜感激。
修改 - 原始问题的部分解决方案,但问题仍然存在
我与编写OpenVPN应用程序的人谈过,他很友好地指出:
基本上所有4.0+应该与VPNService API一起开箱即用。
此外,Android 4.4模拟器已损坏。