以下是用例:
我和朋友正在构建一个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个独立的应用程序吗? :(
答案 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的清单中声明它