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

时间:2011-03-20 06:04:59

标签: android apk decompiler corona

以下是用例:

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

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

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

或者我们需要构建2个独立的应用程序吗? :(

2 个答案:

答案 0 :(得分: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应用无法直接上传到Market。但是,有些用户创建了一个允许这样做的过程,它被称为Marketizer。

如果你花一些时间阅读这个论坛的帖子:编程与app-inventor(这是一个Google Groups论坛),你可能会得到更好的想法。

答案 1 :(得分:2)

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

要在Eclipse中执行此操作,请单击导出> Java> JAR> {选择项目&取消选择AndroidManifest.xml}>完成

如果您没有从项目A中排除AndroidManifest.xml,则会遇到一个问题,即有here所述的重复清单文件。

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

  

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

仅修复clean & rebuild your project

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