Android反编译奇怪的问题

Android decomplie strange problems

我发现了一个关于 Android 反编译的奇怪问题。
为了研究,我通过 apktooldex2jar 反编译了一个 Android apk,一切似乎都正常,但是当我使用 JD-GUI打开反编译后的.jar文件,里面找不到AndroidActivityclass文件,感兴趣的是我看到 AndroidManifest.xml 文件,里面写了一些 activity 路径,我保证我找不到这些 classes 文件那些路径,有什么问题呢?怎么办?

--[更新]--
我发现不仅 Activity class 文件不存在,而且一些自定义小部件 class 文件也不存在,我看到一些布局 xml 使用了自定义小部件,但找不到它们真实文件。真的有什么方法可以隐藏 class 文件以防止其他人反编译吗?

反汇编 .dex 文件仅包含 Java 源代码。此文件通常是 classes.dex,但对于多 dex 应用程序,可以存在于 classes#.dex 中的任何位置,其中 # 是某个数字 >= 1.

您不会在 .dex 文件中找到 AndroidManifest.xml 和各种布局文件。它们位于其他地方(resources.arscAndroidManifest.xmlres/),并且只能使用 apktool 之类的东西解码为人类可读的形式。

此外,您无法隐藏任何内容。如果应用程序在 Android 上运行,则很有可能可以对其进行解码。混淆可以提供帮助,但不会阻止查看源代码。