ZZH的CSDN测试

 本文主要通过分析源码来分析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上容易实现。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值