当前位置: 首页 > news >正文

android APP使用指定网络上网的原理

【精选】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里

结合上面的,应该清楚原理了,暂时先到这儿

http://www.lryc.cn/news/248129.html

相关文章:

  • git-2
  • Vue实现可拖拽边界布局
  • Day41力扣打卡
  • SpringBoot项目发送邮件
  • Mac单独修改应用语言
  • Unity 通过代码控制Texture进行缩放
  • C语言:输入3个整数,按由小到大的顺序输出(指针)
  • C# 模拟鼠标操作工具类
  • content_script.js、background.js和popup.js之间的通讯
  • python的requests请求参数带files
  • Elk:filebeat 日志收集工具和logstash
  • [设计模式] 常见的设计模式
  • 报错解决:You may need an additional loader to handle the result of these loaders.
  • 配置自动化部署Jenkins和Gitea
  • VSCODE+QEMU+WSL调试RISCV代码(SBI、kernel)
  • 二叉树(判断是否为对称二叉树)
  • STM32开发学习(地址映射)
  • 证明E(X+Y) =E(X) + E(Y)
  • ClickHouse入门手册1.0
  • 10个火爆的设计素材网站推荐
  • SQL注入 - CTF常见题型
  • android keylayout键值适配
  • python读取excel自动化生成sql建表语句和java实体类字段
  • Unity求向量A在平面L上的投影向量
  • 人机交互2——任务型多轮对话的控制和生成
  • 【数据结构】八大排序 (三)
  • Redis 命令处理过程
  • python爬虫进阶教程之如何正确的使用cookie
  • 【hacker送书第4期】推荐4本Java必读书籍(各送一本)
  • [密码学]DES