【问题标题】:How can I add a jar to an APK & make the APK refer to it without Eclipse?如何在没有 Eclipse 的情况下将 jar 添加到 APK 并让 APK 引用它?
【发布时间】:2013-04-07 10:46:10
【问题描述】:
这可能看起来有点奇怪,但我需要实现它。
我有一个 APK 而我没有 有它的源代码。
现在我可以破坏 apk ,修改并重新打包它,但是在这样做的同时,我需要将我的自定义 jar 添加到它并让 app/apk 在运行时引用这个库/jar。
如果我只是在 apk 中创建一个文件夹 libs 并将我的 jar 放入其中,我会收到 NoClassDefFound 错误。
知道如何使用 ANT 或任何其他工具来实现它吗?
提前感谢
【问题讨论】:
标签:
android
jar
runtime
apk
refer
【解决方案1】:
您在 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 项目并使用代码了。
【解决方案2】:
这是不可能的。所有的类都已经编译好了。您将需要再次“构建”APK,以便重新映射正确的引用。