【问题标题】:Access source code package in Android在Android中访问源代码包
【发布时间】:2017-11-06 14:55:41
【问题描述】:

我正在寻找一种以编程方式从 Java 包中提取 MD5 校验和的方法。这将需要从正在运行的应用程序内部访问实际的源代码。我认为可能可以访问 .apk 并使用反射来对包进行校验和。

我只是想知道这样的事情是否可能。

【问题讨论】:

  • Java 是一种编译语言。 Android APK 中没有 Java 源代码,更不用说“来自正在运行的应用程序”。
  • MD5 究竟能为您提供什么?您可以只取包本身的名称,不是吗?
  • 我明白,但仍然可以访问 smali 目录,对吗?我这样做是因为我想知道我维护的开源库是否被修改。在这种情况下比较校验和是合适的

标签: java android md5 checksum


【解决方案1】:

这需要从正在运行的应用程序内部访问实际源代码

Java 是一种编译语言。 Android APK 中没有 Java 源代码,更不用说“来自正在运行的应用程序”。

仍然可以访问 smali 目录,对吗?

Android APK 中没有“smali 目录”。

我想知道我维护的开源库是否被修改。在这种情况下比较校验和是合适的

没有。由于多种原因,您的库中的 Dalvik 字节码贡献可能会有所不同,包括:

  • 不同的buildToolsVersion
  • 不同的javac 版本
  • 不同的 ProGuard 配置

【讨论】:

  • 是否可以从 Java 中获取依赖的大小?
  • @Solidak:APK 中没有“依赖”的概念。作为构建过程的结果,所有内容都合并在一起。即使有这样的概念,大小也会有所不同,这取决于我的项目符号列表中的项目,可能还有其他设置(例如,资源排除规则)。
  • 非常感谢,@CommonsWare。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多