13

这是用例:

我和一个朋友正在构建一个 Android 应用程序,并希望与它一起集成一个游戏。该应用程序的核心已在 Eclipse 中构建,但我们正在研究使用 Google AppInventer ( http://appinventor.googlelabs.com/about/ ) 或 Corona ( http://www.anscamobile ) 等应用程序构建工具构建游戏.com/corona/)。我们希望我们构建的现有应用程序有一个像“玩游戏”这样的按钮,它将启动我们使用这些实用程序之一构建的游戏。

但是,当我使用 Google App Inventor 时,我注意到我只能将项目导出为 .apk,这是二进制文件。理想情况下,我会在 AppInventor 中构建应用程序,导出源代码并将包添加到我们在 Eclipse 中的现有项目中。好吧,这并不容易,因为我们只能访问 .apk 文件。所以我的问题是这可以做到吗?如何?

有些人建议使用apk 反编译器,但这是否值得?是否有任何好的 apk 反编译器可以让我们访问一些源代码(java 文件、xml 文件、资源)而不会太头疼?是否有其他工具可以导出源代码?还有其他方法可以集成 2 个单独的 .apks 吗?

还是我们需要构建 2 个单独的应用程序?:(

4

2 回答 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(它是一个谷歌论坛),你可能会得到更好的想法。

于 2011-03-23T21:19:25.280 回答
2

您可以考虑将依赖项目 A 构建为 JAR,并将该 JAR 文件包含到依赖项目 B 的构建路径中。

要在 Eclipse 中执行此操作,您应该单击Export > Java > JAR > { Select project & unselect AndroidManifest.xml } > Finish

如果您不从项目 A 中排除 AndroidManifest.xml,您将收到一个问题,指出此处描述的清单文件重复。

此外,您可能会收到以下错误:

转换为 dalvik 格式失败,错误 1

要解决这个问题,只需清理并重建您的项目

我尝试了两个具有相同版本 Android SDK 参考的项目,并且它有效。请注意,如果您需要从项目 A 运行活动,您还需要在项目 B 的清单中声明它

于 2011-03-20T09:29:51.577 回答