Android Studio 中的 APK 分析器是什么以及如何充分利用它?

2024-02-05

Android Studio 包含一个 APK 分析器,可在顶部菜单中找到:

Build --> Analyze APK...

它是什么以及如何充分利用它?


构建过程完成后,APK 分析器可以提供有关 APK 文件组成的详细信息。

使用 APK 分析器的一些好处:

  • APK大小优化:它可以显示原始文件 大小(磁盘上解压缩的大小)和下载大小(估计的 压缩后的尺寸)。文件和文件夹列表按总大小降序排列。

  • 查看XML形式而不是二进制形式的AndroidManifest.xml文件:APK中的清单文件通常是二进制文件。此外,如果项目在 APK 中包含多个清单文件,它们将合并到一个清单文件中。使用 APK 分析器可以重建清单文件的 XML 形式。

  • 了解 .DEX 的组成(Dalvik 可执行文件)文件:当您单击任何 DEX 文件时,您将看到它定义了多少个类和方法以及它包含的总引用数的摘要。

  • 比较 APK 文件:它可用于显示两个不同 APK 文件之间的差异,例如调试版本和发布版本之间的差异。

  • 加载 ProGuard 映射.

  • 查看代码和资源实体.

更多详细信息请参见此处link http://developer.android.com/studio/build/apk-analyzer#view_file_and_size_information.

还有命令行version https://developer.android.com/studio/command-line/apkanalyzer.htmlAPK 分析器的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Studio 中的 APK 分析器是什么以及如何充分利用它? 的相关文章

随机推荐

  • Python - 如何强制使用工厂方法来实例化对象?

    我有一组相关的类 它们全部继承自一个基类 我想使用工厂方法来实例化这些类的对象 我想这样做是因为这样我可以在将对象返回给调用者之前将对象存储在以类名为键的字典中 然后 如果有对特定类的对象的请求 我可以检查我的字典中是否已存在该对象 如果没
  • AWS Lambda Node.js 全 ICU

    我使用以下命令在本地运行 node js 应用程序 node icu data dir node modules full icu app local js 如何在AWS Lambda环境中指定icu data dir Thanks 您应该
  • JPA 将 STRING 列值连接成单个值,就像聚合函数一样

    是否可以使用 JPA 拥有一个自定义聚合函数来扩展 concat 以便将列值连接成单个字符串 我最近在使用 JPA 和 H2 数据库时遇到了同样的问题 我试着打电话给组连接 http www h2database com html func
  • 有没有办法在 cocoapods 中使用拉取请求?

    有了 swift 3 许多 cocoapods 都在努力跟上每个测试版带来的变化 有时这些更改不会很快合并到分支中 在这些情况下 有没有办法使用分支的拉取请求 例子 https github com MengTo Spring pull 1
  • 为什么 Ubuntu docker 镜像不是虚拟机 [重复]

    这个问题在这里已经有答案了 我明白了虚拟机和容器之间的巨大区别 但这让我对 Ubuntu 容器如何存在感到困惑 这对我来说感觉很矛盾 因为 Ubuntu 是一个操作系统 https hub docker com ubuntu https h
  • 未知属性 onItemSelected/onCheckedChanged

    我创建了 SwitchCompat 并添加了android onCheckedChanged 一切正常 但 Android Studio 将此属性标记为警告 描述 未知属性 android onCheckedChanged AppCompa
  • java中的ESC/POS图像

    我需要在热敏打印机 SAM4S ELLIX40 中打印此图像 我一直在搜索和测试几个代码 但实际上没有任何效果 他们说 使用这个命令 你会看到一行 我发送了它 但没有任何反应 我尝试了手册中的命令 ESC m nL nH d1 dk GS
  • 字典键和 eval 中的破折号

    在我被 评估是邪恶 的人群打死之前 在这种情况下这是必要的邪恶 我无法改变它 Eval 有其用途 并且在严格控制的环境中它非常强大 然而 我有一个没有明显解决方案的问题 我希望能够跳出框框思考 gt gt gt mydict a b woo
  • Backbone.js Collection.create 并覆盖 Model.set

    我有一个主干模型 我在其中更改了 set 方法来计算模型每组的额外属性 根据文档 这应该是调用 super 的方式 以确保模型确实被保存 Backbone Model prototype set call this attributes o
  • 按空格分割字符串[重复]

    这个问题在这里已经有答案了 无论空格有多长 如何通过空格分割字符串 例如 来自以下字符串 the quick brown fox jumps over the lazy dog 我会得到一个数组 the quick brown fox ju
  • Vue 3:resolveComponent 只能在 render() 或 setup() 中使用

    我正在尝试在 Vue 3 中渲染一个模板 该模板包含一个组件 该组件在实例上本地注册 import template from template import RenderlessPagination from RenderlessPagi
  • Bash - 如果子节点的属性值不等于特定值,则删除 XML 节点?

    我有 RSS 提要 如下所示
  • 给定背景颜色,黑色还是白色文本?

    我正在尝试找到一种方法来确定在给定背景颜色 作为十六进制值 的情况下是否使用黑色或白色文本 以前有人处理过这个吗 有没有有效的方法来做到这一点 就我而言 我将使用 PHP 来实现逻辑 尽管任何使用其他语言的经验都是受欢迎的 亮度对比算法 我
  • JSF-将参数传递给 valuechangelistener

    我有一个像这样的小单选按钮
  • 确定 xml 文件是否包含数据 - c#

    我如何知道我的 XML 文件是否还包含名称空间信息之外的数据 一些文件包含以下内容 如果我遇到这样的文件 我想将该文件放在错误目录中 您可以使用 XmlReader 来避免 XmlDocument 的开销 在您的情况下 您将收到异常 因为根
  • pip 下载而不执行 setup.py

    如何下载发行版 可能是 sdist 而不可能执行setup py文件 可能包含恶意代码 我不想递归获取依赖项 只想下载指定发行版的一个文件 尝试无效 pip download no deps mydist 这是一个可重现的示例 演示了set
  • 如何向我在 Android 中用作背景的可绘制对象添加圆角?

    我有一个特定的可绘制对象 在我的应用程序中用作背景 它不是纯色 现在我想给这个可绘制对象添加圆角 我只发现圆角可用于具有渐变或纯色作为背景的形状 但没有其他可绘制的形状 是否有另一种简单的方法向可绘制对象添加圆角 Use AQuery使可绘
  • 桶太多,直方图聚合失败

    我有一个对 elastic 的查询 其中包含总共 8 个嵌套聚合 所有聚合都是term聚合 除了一个聚合histogram聚合 如果我删除该直方图聚合 查询将完美运行 但对于直方图聚合 它会抛出这个特定的错误 此聚合创建了太多存储桶 100
  • 为任何 CMS 系统创建 sitemap.xml 的最有效的性能方法是什么?

    我们想要在 CMS 系统中实现 sitemap xml 功能 我们的开发人员内部有一些争论 认为此功能会影响性能 因为每次内容发生更改时 都需要创建网站的完整链接列表并将其放置在 sitemap xml 中 这个想法是 每次编辑或添加公共查
  • Android Studio 中的 APK 分析器是什么以及如何充分利用它?

    Android Studio 包含一个 APK 分析器 可在顶部菜单中找到 Build gt Analyze APK 它是什么以及如何充分利用它 构建过程完成后 APK 分析器可以提供有关 APK 文件组成的详细信息 使用 APK 分析器的