由于“dx工具失败”,无法在Flash Builder 4.7上构建Android Release Build

时间:2014-01-30 11:42:24

标签: android flex air flash-builder apk

几天前,我在Mac上更新了Oracle Java(OS X 10.8)

从那以后,我再也无法从Adobe Flash Builder 4.7编译任何Android版本。

我得到的错误是:

eclipse.buildId=M20110909-1335
java.version=1.6.0_65
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -keyring /Users/slim_tim/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -keyring /Users/slim_tim/.eclipse_keyring -consoleLog -showlocation

Error
Thu Jan 30 12:11:46 CET 2014
dx tool failed:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:128)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:206)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
at com.android.dx.command.dexer.Main.processOne(Main.java:422)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:333)
at com.android.dx.command.dexer.Main.run(Main.java:209)
at com.android.dx.command.dexer.Main.main(Main.java:174)
at com.android.dx.command.Main.main(Main.java:91)
1 error; aborting


java.lang.Exception
at com.adobe.flexbuilder.project.internal.FlexProjectCore.createErrorStatus(FlexProjectCore.java:1020)
at com.adobe.flexbuilder.util.logging.GlobalLogImpl.log(GlobalLogImpl.java:66)
at com.adobe.flexbuilder.util.logging.GlobalLog.log(GlobalLog.java:52)
at com.adobe.flexbuilder.multisdk.apollo.export.AIRAPKPackager.createUsingPackager(AIRAPKPackager.java:248)
at com.adobe.flexbuilder.multisdk.apollo.export.AIRAPKPackager.create(AIRAPKPackager.java:575)
at com.adobe.flexbuilder.multisdk.apollo.export.AIRAPKPackager.create(AIRAPKPackager.java:138)
at com.adobe.flexide.multiplatform.android.exportrelease.AndroidExportReleaseHandler.createPackage(AndroidExportReleaseHandler.java:354)
at com.adobe.flexide.multiplatform.android.exportrelease.AndroidExportReleaseHandler.doPackage(AndroidExportReleaseHandler.java:258)
at com.adobe.flashbuilder.project.multiplatform.ui.exportrelease.MultiPlatformExportReleaseVersionManager.doExport(MultiPlatformExportReleaseVersionManager.java:317)
at com.adobe.flexbuilder.exportimport.releaseversion.ui.ExportReleaseVersionWizard$1.run(ExportReleaseVersionWizard.java:221)

我发现一些关于dx工具的条目一般,遗憾的是在Adobe Flash Builder的上下文中没有,并且没有一个给定的解决方案对我有效。 让我感到困惑的是,Eclipse和java -version都声称它们运行在Apple提供的JVM 1.6上。那么Oracle更新怎么可能会干扰它?

到目前为止我尝试了什么:

按照此页面上的说明卸载Oracle Java:https://www.java.com/en/download/help/mac_uninstall_java.xml

卸载并重新安装Apple JVM

卸载并重新安装Flash Builder 4.7

使用Android 19 API版本中的最新版本更新Flex SDK中的adb,aapt和dx.jar文件(在我的案例中为Apache Flex 4.9.1 AIR 3.8)。

这些都无济于事。

有任何建议如何进行?

谢谢,

蒂姆

1 个答案:

答案 0 :(得分:1)

经过一周的搜索,我终于找到了灵魂,它实际上与任何Java版本无关......

相反,罪魁祸首是我打包到应用程序中的错误的原生扩展。这个的构建过程必须无声地失败。

重建.ane,一切都恢复正常。

抱歉浪费了你的时间。