由于“dx 工具失败",无法在 Flash Builder 4.7 上构建 Android Release Build [英] Cannot build Android Release Build on Flash Builder 4.7 due to "dx tool failed"

查看:30
本文介绍了由于“dx 工具失败",无法在 Flash Builder 4.7 上构建 Android Release Build的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

几天前,我在 Mac (OS X 10.8) 上将 Oracle Java 更新为 1.7.x

a few days ago I updated Oracle Java to 1.7.x on my Mac (OS X 10.8)

从那以后,我再也无法从 Adob​​e Flash Builder 4.7 编译任何 Android 版本.

Since then, I'm not able to compile any android release builds from Adobe Flash Builder 4.7 anymore.

我得到的错误是:

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 工具的一般条目,不幸的是没有在 Adob​​e Flash Builder 的上下文中,并且给定的解决方案都没有对我有用.让我感到困惑的是,Eclipse 和 java -version 都声明它们在 Apple 提供的 JVM 1.6 上运行.那么 Oracle 更新怎么可能会干扰到这一点呢?

I found a few entries concerning dx tool in general, unfortunately none in the context of Adobe Flash Builder, and none of the given solutions did work for me. What puzzles me, is the fact, both Eclipse and java -version both state they run on JVM 1.6 provided by Apple. So how could the Oracle update possibly interfere with that?

到目前为止我尝试过的:

What I tried so far:

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

Uninstalling Oracle Java by the instructions from this page: https://www.java.com/en/download/help/mac_uninstall_java.xml

卸载和重新安装 Apple JVM

Uninstalling and reinstalling Apple JVM

卸载和重新安装 Flash Builder 4.7

Uninstalling and reinstalling Flash Builder 4.7

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

Updating the adb , aapt and dx.jar files in the Flex SDK ( in my case Apache Flex 4.9.1 AIR 3.8 ) with the newest versions from the API 19 release of Android.

这些都无济于事.

对如何进行有任何建议吗?

Any suggestions how to proceed?

谢谢,

蒂姆

推荐答案

找了一个星期,终于找到了,其实和任何Java版本都没有关系……

After a week of searching, I finally found the soultion, and it had in fact nothing to do with any Java Version ...

相反,罪魁祸首是我打包到应用程序中的错误构建的本机扩展.为此的构建过程一定是默默地失败了.

Instead the culprit was a misbuilt native extension I packaged into the app. The build process for this must have silently failed.

重建 .ane,一切又恢复正常.

Rebuilt the .ane, and everything is working again.

抱歉浪费了您的时间.

这篇关于由于“dx 工具失败",无法在 Flash Builder 4.7 上构建 Android Release Build的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆