源代码:

 private static List<String> allSOLists = new ArrayList<String>();/** * 获取全部已加载的SO库*/private void getAllSOLoaded(){allSOLists.clear();// 当前应用的进程IDint pid = Process.myPid();String path = "/proc/" + pid + "/maps";File file = new File(path);if(file.exists() && file.isFile()){readFileByLines(file.getAbsolutePath());} else {Log.e("DAVIS", "不存在[" + path + "]文件.");}StringBuilder sb = new StringBuilder();for(int i=0;i<allSOLists.size();i++){sb.append(allSOLists.get(i) + "\n");}Log.e("DAVIS", sb.toString());}/** * 获取当前应用已加载的SO库*/private void getCurrSOLoaded(){allSOLists.clear();// 当前应用的进程IDint pid = Process.myPid();String path = "/proc/" + pid + "/maps";File file = new File(path);if(file.exists() && file.isFile()){readFileByLines(file.getAbsolutePath());} else {Log.e("DAVIS", "不存在[" + path + "]文件.");}StringBuilder sb = new StringBuilder();for(int i=0;i<allSOLists.size();i++){if(allSOLists.get(i).startsWith("/data/app/")) {sb.append(allSOLists.get(i) + "\n");}}Log.e("DAVIS", sb.toString());}/*** 以行为单位读取文件,常用于读面向行的格式化文件*/public static void readFileByLines(String fileName) {File file = new File(fileName);BufferedReader reader = null;try {reader = new BufferedReader(new FileReader(file));String tempString = null;// 一次读入一行,直到读入null为文件结束while ((tempString = reader.readLine()) != null) {if(tempString.endsWith(".so")) {int index = tempString.indexOf("/");if(index != -1){String str = tempString.substring(index);// 所有so库(包括系统的,即包含/system/目录下的)allSOLists.add(str);}}}reader.close();} catch (Exception e) {e.printStackTrace();} finally {if (reader != null) {try {reader.close();} catch (IOException e1) {}}}}

输出日志

全部已加载的SO库:

 /vendor/lib64/hw/gralloc.kirin710.so/vendor/lib64/hw/gralloc.kirin710.so/vendor/lib64/hw/gralloc.kirin710.so/system/lib64/vndk-sp-28/libion.so/system/lib64/vndk-sp-28/libion.so/system/lib64/vndk-sp-28/libion.so/vendor/lib64/libhiion.so/vendor/lib64/libhiion.so/vendor/lib64/libhiion.so/data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libNativeCrash.so/data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libNativeCrash.so/data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libNativeCrash.so/data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libCloudwiseCrash.so/data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libCloudwiseCrash.so/data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libCloudwiseCrash.so/system/lib64/libhwetrace_jni.so/system/lib64/libhwetrace_jni.so/system/lib64/libhwetrace_jni.so/system/lib64/vndk-sp-28/liblzma.so/system/lib64/vndk-sp-28/liblzma.so/system/lib64/vndk-sp-28/liblzma.so/vendor/lib64/egl/libGLES_mali.so/vendor/lib64/egl/libGLES_mali.so/vendor/lib64/egl/libGLES_mali.so/system/lib64/vndk-sp-28/libz.so/system/lib64/vndk-sp-28/libz.so/system/lib64/vndk-sp-28/libz.so/vendor/lib64/libc_secshared.so/vendor/lib64/libc_secshared.so/vendor/lib64/libc_secshared.so/system/lib64/vndk-sp-28/libutilscallstack.so/system/lib64/vndk-sp-28/libutilscallstack.so/system/lib64/vndk-sp-28/libutilscallstack.so/system/lib64/vndk-sp-28/libbacktrace.so/system/lib64/vndk-sp-28/libbacktrace.so/system/lib64/vndk-sp-28/libbacktrace.so/system/lib64/vndk-sp-28/libunwindstack.so/system/lib64/vndk-sp-28/libunwindstack.so/system/lib64/vndk-sp-28/libunwindstack.so/system/lib64/vndk-sp-28/libunwind.so/system/lib64/vndk-sp-28/libunwind.so/system/lib64/vndk-sp-28/libunwind.so/system/lib64/libwebviewchromium_loader.so/system/lib64/libwebviewchromium_loader.so/system/lib64/libwebviewchromium_loader.so/system/lib64/libcompiler_rt.so/system/lib64/libcompiler_rt.so/system/lib64/libcompiler_rt.so/system/lib64/vndk-sp-28/libutils.so/system/lib64/vndk-sp-28/libutils.so/system/lib64/vndk-sp-28/libutils.so/system/lib64/vndk-sp-28/libbase.so/system/lib64/vndk-sp-28/libbase.so/system/lib64/vndk-sp-28/libbase.so/system/lib64/vndk-sp-28/libcutils.so/system/lib64/vndk-sp-28/libcutils.so/system/lib64/vndk-sp-28/libcutils.so/system/lib64/vndk-sp-28/libhidlbase.so/system/lib64/vndk-sp-28/libhidlbase.so/system/lib64/vndk-sp-28/libhidlbase.so/system/lib64/vndk-sp-28/android.hardware.graphics.common@1.0.so/system/lib64/vndk-sp-28/android.hardware.graphics.common@1.0.so/system/lib64/vndk-sp-28/android.hardware.graphics.common@1.0.so/vendor/lib64/hw/android.hardware.graphics.mapper@2.0-impl.so/vendor/lib64/hw/android.hardware.graphics.mapper@2.0-impl.so/vendor/lib64/hw/android.hardware.graphics.mapper@2.0-impl.so/system/lib64/vndk-sp-28/libhidltransport.so/system/lib64/vndk-sp-28/libhidltransport.so/system/lib64/vndk-sp-28/libhidltransport.so/system/lib64/vndk-sp-28/android.hardware.graphics.mapper@2.0.so/system/lib64/vndk-sp-28/android.hardware.graphics.mapper@2.0.so/system/lib64/vndk-sp-28/android.hardware.graphics.mapper@2.0.so/system/lib64/vndk-sp-28/libhardware.so/system/lib64/vndk-sp-28/libhardware.so/system/lib64/vndk-sp-28/libhardware.so/system/lib64/vndk-sp-28/libc++.so/system/lib64/vndk-sp-28/libc++.so/system/lib64/vndk-sp-28/libc++.so/system/lib64/vndk-sp-28/libhwbinder.so/system/lib64/vndk-sp-28/libhwbinder.so/system/lib64/vndk-sp-28/libhwbinder.so/system/lib64/libiAwareSdk_jni.so/system/lib64/libiAwareSdk_jni.so/system/lib64/libiAwareSdk_jni.so/system/lib64/libjavacrypto.so/system/lib64/libjavacrypto.so/system/lib64/libjavacrypto.so/system/lib64/libsoundpool.so/system/lib64/libsoundpool.so/system/lib64/libsoundpool.so/system/lib64/libmedia_jni.huawei.so/system/lib64/libmedia_jni.huawei.so/system/lib64/libmedia_jni.huawei.so/system/lib64/libhwlog_jni.so/system/lib64/libhwlog_jni.so/system/lib64/libhwlog_jni.so/system/lib64/libhwaps.so/system/lib64/libhwaps.so/system/lib64/libhwaps.so

当前应用已加载的SO库:

 /data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libNativeCrash.so/data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libNativeCrash.so/data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libNativeCrash.so/data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libCloudwiseCrash.so/data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libCloudwiseCrash.so/data/app/com.tsb-eMBG4MWSQgAzpqckdwC7cQ==/lib/arm64/libCloudwiseCrash.so

Android查看当前应用已经加载的so库相关推荐

  1. Android框架之路——Glide加载图片(结合RecyclerView、CardView)

    Android框架之路--Glide加载图片 一.简介: 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech.这个库被广泛的运用在google的开 ...

  2. Android 中LayoutInflater(布局加载器)之介绍篇

    本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/78099358 前 ...

  3. Android平滑图片加载和缓存库 Glide 使用详解

    版权声明:本文原创作者:一叶飘舟 作者博客地址:http://blog.csdn.net/jdsjlzx 一.简介 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide的图片加载库,作者 ...

  4. Android 二次封装网络加载框架

    Android 二次封装网络加载框架 写在最前面 开发当中,在请求网络的时候,大家或多或少都会使用一些第三方框架,Android-Async-Http. Volley.XUtils.Okhttp.Re ...

  5. android多种方式实现异步加载图片

    记得之前做安卓应用时都是在2.2以下的版本,如果在UI线程中进行耗时操作,比如http,socket等 会产生android.os.NetworkOnMainThreadException 如果异步加 ...

  6. android编程中添加gif,Android应用开发之【Android】使用android-gif-drawable包加载GIF动图...

    本文将带你了解Android应用开发之[Android]使用android-gif-drawable包加载GIF动图,希望本文对大家学Android有所帮助. [导包] 首先需要导入android-g ...

  7. 【Android 安全】DEX 加密 ( 不同 Android 版本的 DEX 加载 | Android 8.0 版本 DEX 加载分析 | Android 5.0 版本 DEX 加载分析 )

    文章目录 一.不同版本的 DEX 加载 1.Android 8.0 版本 DEX 加载分析 2.Android 6.0 版本 DEX 加载分析 3.Android 5.0 版本 DEX 加载分析 一. ...

  8. Android网络图片加载缓存处理库的使用---第三方库学习笔记(五)

    两款比较优秀的开源图片处理库框架:Universal-ImageLoader和Picasso. Universal-ImageLoader 简介: Universal-ImageLoader是目前An ...

  9. android实现新闻内容显示功能,Android开发实现自定义新闻加载页面功能实例

    本文实例讲述了Android开发实现自定义新闻加载页面功能.分享给大家供大家参考,具体如下: 一.概述: 1.效果演示: 2.说明:在新闻页面刚加载的时候,一般会出现五种状态 未知状态(STATE_U ...

最新文章

  1. dsp和通用计算机的区别,dsp芯片是什么_dsp芯片和通用微处理器有什么区别
  2. HighCharts使用心得
  3. 【译】权益证明的设计理念
  4. leetcode111 爬楼梯 python实现
  5. x86虚拟机NXVM_Centos6.5 x86_64系统安装kvm虚拟机—基础篇
  6. 洛谷——P1093 奖学金
  7. 一款监控网络状态的好工具- Smokeping
  8. c# 去除转义符号_c#语法
  9. Linux内核线程kernel thread详解--Linux进程的管理与调度
  10. Unity3d Asset Server启动问题
  11. 查看电脑的s/n序列号信息方式
  12. php将数组转成字符串的,php怎样将数组转化成字符串
  13. MatConvNet 相关函数解释说明
  14. 三分钟解决Matlab中文乱码问题
  15. HTML如何剪切图片,css如何截取图片?
  16. 程序员最喜欢的15款文本编辑器推荐
  17. 计算机可以谭音乐吗,武汉音乐学院作曲系师生作品入选第44届国际计算机音乐大会...
  18. 计算机考研854题型,2020哈尔滨工业大学计算机考研854真题回忆版
  19. python2/3 opencv的fitline函数
  20. 从表征到行动---意向性的自然主义进路(续一)

热门文章

  1. 2023-2028年中国硫氰酸胍(GTC)市场研究及前景投资预测报告
  2. star ccm+ 学习
  3. opengl着色器shader介绍
  4. 常用的十种算法--克鲁斯卡尔算法
  5. Revit structure 2012
  6. C语言设计第七章答案,c语言程序设计第七章答案
  7. 600多个iOS开源项目分类及介绍
  8. 总结 - 写在NOIP2016之后
  9. css+vue绘制蛇形时间轴曲线
  10. Linux系统之部署ZFile在线网盘服务