在多项目Android应用程序中构建apk文件时出错?

时间:2011-05-16 17:18:06

标签: android apk

我有一个项目使用其他3个项目作为库,并且有很多图像。应用程序在调试模式下运行正常,但是当我尝试构建并签署apk以发布应用程序时,我收到以下错误:

Command-line Error 139
    at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeAapt(BuildHelper.java:708)
    at com.android.ide.eclipse.adt.internal.build.BuildHelper.packageResources(BuildHelper.java:184)
    at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:131)
    at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(ExportWizard.java:290)
    at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(ExportWizard.java:229)
    at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(ExportWizard.java:214)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

有人可以告诉我这是什么意思吗? 我一直在做很多试验和错误删除它,但最好设法使apk一两次,这对于我不确定的错误... 这是我第三天遇到这个问题的任何帮助都会非常感激。

我的R.java文件也没有自己创建(在Ubuntu 10.1和android api 7级下使用eclipse)...

还需要手动添加resources.ap_文件......

更新:

我尝试使用命令行而不是eclipse。

当ant到达ant build_rules.xml文件中的rfolder =“$ {gen.absolute.dir}”行时出现错误...这是android SDK的aapt工具构建apk时的部分(以及所有bin中的其他资源文件)因此在构建资源时ant构建失败。 即使存在R.java文件(在手动添加并删除它以便eclipse重新生成它之后生成),也会发生这种情况... ...

有时我会建立apk 1.在bin中手动添加一个空的resources.ap_文件 建立 3.在构建之后删除.apk和resources.ap_文件 4.再次建立..

即使在这种情况下,我也可以在10次尝试中导出已签名的apk文件。

另一个非常不自然的行为是,有时如果我将代码单独留下15-20分钟,所有错误都消失了......(可能与记忆有关)

1 个答案:

答案 0 :(得分:0)

行。因此,在没有睡眠2周后,我发现了问题。问题出在我的values文件夹中名为“ids.xml”的文件中,该文件用于创建静态常量整数id,可以使用R.id.xyz在代码中的任何地方使用该文件,该文件具有< / p>

    <item type="id" name="xyz"/>

我删除了这个文件,并在其中一个类中创建了静态最终整数(旧式java方式),并按类名和点运算符使用它们。

代码符合,构建和签署(导出apk)很好。看起来冲突是因为这个ids.xml文件没有自动创建R.java文件,这通过中断resources.ap_文件的创建导致了正常构建过程中的问题。 现在,如果我强行创建R.java和resources.ap_他们的版本或可能在签名的apk中打包的顺序受到干扰(这种解释为什么我能够在10-20中制作签名的apk 1-2次试验和错误)。