将一个Android应用程序(.apk)集成到现有的Android项目中。

13

这是使用场景:

我和一个朋友正在构建一个Android应用程序,并希望集成一个游戏。 应用程序的核心已经在Eclipse中构建,但我们正在寻找使用Google AppInventor (http://appinventor.googlelabs.com/about/)或Corona (http://www.anscamobile.com/corona/)等应用程序构建工具来构建游戏。 我们想要的是,我们已经构建的现有应用程序具有像“播放游戏”之类的按钮,该按钮将启动我们使用这些实用程序构建的游戏。

然而,当我尝试使用Google App Inventor时,我注意到我只能将项目导出为二进制文件.apk文件。 理想情况下,我会在AppInventor中构建应用程序,导出源代码并将包添加到我们在Eclipse中构建的现有项目中。 但事实并非如此简单,因为我们仅能够访问.apk文件。 那么我的问题是:能否完成这项任务? 怎么做?

有人建议使用apk反编译器,但这值得吗? 有没有好的apk反编译器可以让我们访问一些源代码(Java文件、XML文件、资源)而不会让我们头疼不已? 还有其他工具可以导出源代码吗? 有其他方法将两个单独的.apk集成在一起吗?

或者,我们需要构建两个单独的应用程序吗? :(


你好!"Kyle Clegg",你成功地将单独的ex.apk文件集成到现有项目中了吗?请帮助我"smr.natore08@gmail.com"。我也遇到了同样的问题。我想将一个游戏apk集成到我的现有应用程序中。我使用的是Android Studio。我想在我已经构建的现有应用程序中添加一个名为“Play Game”的按钮,点击后可以启动游戏。请给我指示。 - Selim Raza
2个回答

5

使用 App Inventor 编写的项目无法导出到 Eclipse。

创建的 .apk 文件不是二进制文件。它是一个由多个文件和文件夹组成的 ZIP 归档文件,但其中没有包含 Java 代码。

要将 App Inventor 应用程序与使用 Android SDK 创建的应用程序结合起来,可以利用 App Inventor 中的 ActivityStarter 组件。有关详细信息,请参见此处:http://appinventor.googlelabs.com/learn/reference/other/activitystarter.html

最后,请记住,App Inventor 应用程序无法直接上传到市场。但是,一些用户已经创建了一个称为 Marketizer 的过程,可以实现该功能。

如果您花时间阅读这个名为 programming-with-app-inventor 的论坛中的帖子(这是一个 Google Groups 论坛),您可能会得到更好的想法。


2
您可以考虑将依赖项目A构建为JAR文件,并将该JAR文件包含到您的依赖项目B的构建路径中。
要在Eclipse中执行此操作,您应单击“导出> Java> JAR> {选择项目并取消选择AndroidManifest.xml}>完成”
如果您没有从Project A中排除AndroidManifest.xml,则会出现一个问题,指出存在重复的清单文件,描述在这里
还可能会出现以下错误:
转换为dalvik格式失败,错误1
要解决此问题,只需清理并重新构建项目 我尝试了两个具有对同一版本Android SDK的引用的项目,它起作用了。请注意,如果您需要从Project A运行活动,则还需要在Project B的清单中声明它。

谢谢 - 可能会起作用。所以我需要将AppInventor项目视为主要项目,并将JAR插入其中? - Kyle Clegg
没错,但我还没有尝试过AppInventor,所以我不知道是否可以使用它导入JAR文件。 - Denys Nikolayenko
更新 - 采取了逻辑方法,放弃了App Inventor工具。全程使用本地代码!感谢您的帮助。 - Kyle Clegg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接