android APP使用指定网络上网的原理
看jni的Android.bp 和 android_net_NetUtils.cpp ,应该是在 NetdClient.h,这个文件应该是。调用到 android_net_utils_bindProcessToNetwork ->但是NetworkUtils的 bindProcessToNetwork一下子找不到在哪儿。调用到了 NetworkUtils.bindProcessToNetwork。
【精选】Android app 指定网络发送数据包的实现与原理分析_bindprocesstonetwork-CSDN博客
补充:
frameworks/base/core/java/android/net/ConnectivityManager.java
函数: bindProcessToNetwork
调用到了 NetworkUtils.bindProcessToNetwork
但是NetworkUtils的 bindProcessToNetwork一下子找不到在哪儿
发现是个native函数,发现jni实现是在下面
frameworks/base/core/jni/android_net_NetUtils.cpp
调用到 android_net_utils_bindProcessToNetwork -> setNetworkForProcess
然后又找不到调用的地方了,
frameworks/base/core/jni/Android.bp
看jni的Android.bp 和 android_net_NetUtils.cpp ,应该是在 NetdClient.h,这个文件应该是
libnetd_client库里
system/netd/client/Android.bp
system/netd/client/NetdClient.cpp
结果发现 setNetworkForProcess 确实在 NetdClient.cpp里
结合上面的,应该清楚原理了,暂时先到这儿
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)