2

这可能看起来有点奇怪,但我需要实现它。

我有一个APK,但我没有它的源代码。现在我可以打破 apk ,修改并重新打包它,但是在这样做的同时,我需要将我的自定义 jar 添加到它并让 app/apk 在运行时引用这个库/jar。

如果我只是在 apk 中创建一个文件夹 libs 并将我的 jar 放入其中,我会收到 NoClassDefFound 错误。

知道如何使用 ANT 或任何其他工具来实现它吗?提前感谢

4

2 回答 2

6

您在 android 项目中附加的 Jar 不会复制到 APK 中。

发生的事情是,您的 Jar(s) 文件的代码成为您的 Android 代码的一部分。这意味着您不能简单地在 APK 中放置(或复制)Jar 文件。

但是,有办法解决。在 APK 中,您的源代码可以在 classes.dex 文件中找到。

你需要做的是,按照步骤

1 - 使用winRAR解压APK

2 - 使用dex2jar将 classes.dex 转换为 Jar

3 - 提取 Jar 文件

4 - 您将在 *.class 中获得源代码,您可以使用JdGUI将其转换为 *.java。

现在,您可以创建新的 android 项目并使用代码。

于 2013-04-15T11:01:20.007 回答
1

这是不可能的。所有的类都已经编译好了。您将需要再次“构建”APK,以便重新映射正确的引用。

于 2013-04-15T10:47:35.370 回答