我有一个项目使用其他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分钟,所有错误都消失了......(可能与记忆有关)
答案 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次试验和错误)。