本文主要通过分析源码来分析so使用的知识点和问题总结,所以涉及到了很多的源码类,这里就现提供一下:

1、PackageManagerService.java,good class
+setNativeLibraryPaths:设置应用的native库路径
+scanPackageDirtyLI:扫描包内容初始化应用信息

2、ActivityManagerService.java
+startProcessLocked:发送命令给Zygote进程启动一个虚拟机

3、NativeLibraryHelper.java

底层实现类:com_android_internal_content_NativeLibraryHelper.cpp

+copyNativeBinariesWithOverride:释放apk中的so文件到本地目录

+findSupportedAbi:遍历apk中的so文件结合abiList值得到应用支持的abi类型索引值

4、LoadApk类和ApplicationLoaders类

5、VMRuntime.java

底层实现类:dalvik_system_VMRuntime.c

+getInstructionSet:获取虚拟机的指令集类型

+is64BitAbi:判断VM是否为64位

6、Runtime.java

底层实现类:dalvik/vm/native/java_lang_Runtime.cpp,dalvik/vm/Native.cpp

+nativeLoad:加载so文件

想看一下各种类型的格式是否在csdn上容易实现。

ZZH的CSDN测试相关推荐

  1. 在vs code中使用yarn报错 - 无法加载文件 C:\Users\zzh\AppData\Roaming\npm\yarn.ps1

    yarn : 无法加载文件 C:\Users\zzh\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本.有关详细信 息,请参阅 http://go.microsof ...

  2. 学习笔记之软件测试4:CSDN账号密码登陆自动化测试实现(Selenium+Unitest)

    前言 这一章节用到很多之前的测试知识具体请查看 第一章:什么是软件测试 第二章:基于Python的单元测试方法(Pytest) 第三章:Django项目的登录注册模块的功能测试 CSDN测试案例源码在 ...

  3. linux——关于ip、静态网络、动态网络、网关、DNS的设置

    一.常用网络协议 1.ip基础知识 #1.ipv4  2进制32位-----10进制 11111110.11111110.11111110.11111110 == 254.254.254.254 17 ...

  4. 几种论文排版工具(texlive, amot, texmaker)——新手的摸索过程

    几种论文排版工具(texlive, amot, texmaker)--新手的摸索过程 新手开始学习Latex,首先工具的选择,搜集了许多网友的博客,最多使用的是Texlive,amot+texlive ...

  5. Python图像库Pillow (PIL) 入门

    文章目录 简介 安装 测试图像 初试 读写图像 转换格式 创建缩略图 剪切.粘贴和合并图像 复制子区域 粘贴图像 滚动图像 分割和合并波段 几何变换 调整大小 旋转 转置 颜色转换 模式转换 图像增强 ...

  6. ANN神经网络车牌识别

    工程包含C#.C++.Python三个版本. 1.效果演示 在讲解车牌识别的流程之前,我们先来看下最终的识别效果(C#版本,无加速) 2.各版本源码下载 说明: 以下三个版本运行逻辑.函数名字完全一致 ...

  7. activiti学习之任务分配

    写在前面 实际场景中,在发起流程或者是提交自己的任务时,一般都会给出一组用户列表,供选择下一步骤的办理人,这个时候就需要进行任务的动态分配,本文我们来分析如何实现这个功能. 1:占位符方式 在acti ...

  8. CSS实现三角形的四种方法

    方法一:使用 border (常见) [解释]不设置宽高,用边框大小控制三角型大小 [分解步骤] 设置一个div不设宽高 [示例] <style>#triangle{width: 0;he ...

  9. QiYuAdmin-metronic首页的js和css介绍(SpringBoot项目实战)

    简介 这篇文章主要是对metronic首页的js和css进行简单的介绍,以及针对QiYuAdmin项目梳理出一些公用的js和css,什么是共用的js和css?共用的js和css是很多页面都会用到相同的 ...

最新文章

  1. Redis 敢在线上做Keys正则匹配操作!你可以离职了!
  2. 那些参加过创业赛事活动的创业者后来怎么样了?
  3. 【ACM】杭电1073:Online Judge
  4. linux后门查杀工具付费,查杀linux后门跑虚拟货币程序.md
  5. python日历下拉框_Python版的农历日历Calendar,功能简单
  6. R 调用 python
  7. QuickBI助你成为分析师——计算字段功能
  8. 熵的理解(玻尔兹曼分布)
  9. SQL Server 字符串拆分
  10. RedHat系统的Yum安装
  11. 正充电手机自动订了总统套房!公安介入调查:排除被植入后门或被控制可能...
  12. 网络操作系统VyOS之NAT实践
  13. 方正飞鸿FIX ES2007荣获大连软交会创新产品奖
  14. Java并发 ReentrantLock(重入锁)之非公平锁源码解析 超详细!!
  15. 带你一起敲敲ES6的新特性,边解释边应用!
  16. 写给迷茫中的程序员兄弟:如何打造最快的职场晋升神话
  17. SAP中内部订单实际成本和承诺行项目参考交易/业务事务标识汇总
  18. 人生把我当成了戏子,我只好把你们当成婊子
  19. 证明调和级数发散的方法
  20. 安装软件时,“Windows Installer Coordinator”一直循环

热门文章

  1. Android 轮子之点赞红心动画
  2. 如何查询自己的公网IP
  3. Python+SQL万字案例:用户行为数据分析实战!
  4. 第五届B组传智杯初赛题解
  5. wifi驱动分析文档
  6. 计算机网络原理实验实验九:路由器的基本配置,路由器单臂路由配置
  7. MySQL必知必会思维导图
  8. 最新Java 开源博客系统 Tale
  9. 大数据平台比较-CDH、HDP、CDP
  10. CentOS7安装CDH(五):CDH的安装和部署-CDH5.7.0