创建 AIR 文件时出错:无法生成时间戳:握手期间远程主机关闭连接
Posted
技术标签:
【中文标题】创建 AIR 文件时出错:无法生成时间戳:握手期间远程主机关闭连接【英文标题】:Error creating AIR file: Could not generate timestamp: Remote host closed connection during handshake 【发布时间】:2017-02-17 19:37:19 【问题描述】:我一直在尝试从 Flash Builder 导出发布版本,但出现错误:
错误信息是:
创建 AIR 文件时出错:无法生成时间戳:远程主机 握手期间关闭连接
更新: 我找到了这个post,它说它使用https://timestamp.geotrust.com/tsa 来获取时间戳。我在浏览器中访问了这个 URL 并收到了 404 - 找不到页面。
更新 2: 时间戳site 似乎已经关闭了几天。
更新 3: 看起来 geotrust 切换到了破坏 Flash Builder 的 TLS 1.2。这是 Adobe 的回复here:
感谢您报告问题。我们调查发现 timestamp.geotrust.com 最近禁用了 TLS 1.0(参见 cmets on http://downornotworking.com/timestamp.geotrust.com/),因此请 尝试在您的机器上升级到 Java 1.8,其中 ADT(在 AIR SDK(基于 Java)打包。
好的。我读过here 说Flash Builder 和Java 1.8 存在兼容性问题。我要安装 Java 1.8 吗?如何使用 Flash Builder 做到这一点?
我在 Mac OS X 10.11 上运行 Flash Builder 4.7
【问题讨论】:
你不是FB4吗? 我使用的是 Flash Builder 4.7 FB 4.7 on Windows here,据我所知,我已经在使用 Java 1.8。仍然收到错误。 我在某处读到有人可以使用标志-tsa other.timestamp.site
选择另一个时间戳站点。我看看能不能找到。我不记得您是否将其作为编译器标志在 FB 中工作,或者您是否必须切换到使用我不想这样做的 Ant。 FB 中的导出对话框为我处理所有导出过程。
【参考方案1】:
有一篇关于如何为 Java 7/8 设置 Flash Builder 的好文章
Running Adobe Flash Builder on Mac with Java 7/8
我在这里重新创建步骤以防链接脱机
要遵循的步骤
Set your JAVA_HOME to Java 7 or Java 8 as per the correct paths on your machine. export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home Open JVM’s Info.plist at $JAVA_HOME/../Info.plist and add the highlighted lines to JVMCapabilities array:arrays Create a symlink for libjvm.dylib as follows: sudo mkdir –p /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bundle/Libraries sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/lib/server/libjvm.dylib
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bundle/Libraries/libserver.dylib
Note: Correct the version number (in jdk1.7.0_79.jdk) path in the above example to make it point to the correct path on your machine. Set java.library.path by adding the following lines at the end of “/Applications/Adobe Flash Builder 4.7/Adobe Flash Builder
4.7.app/Contents/MacOS/Adobe Flash Builder 4.7.ini”。
-Djava.library.path=../../../eclipse/plugins/com.adobe.flexide.nativelibs_4.7.0.349722/os/macosx/:../../../eclipse /plugins/com.adobe.flexide.amt_4.7.0.349722/os/macosx/:../../../eclipse/plugins/com.adobe.flexbuilder.utils.osnative_4.7.0.349722/os/macosx /
重新启动计算机并启动 Flash Builder。可能的错误
如果您尝试在 Mac OS 10.12 上启动 Flash Builder 并看到 如下错误:
java.lang.RuntimeException:应用程序 “com.adobe.flexbuilder.standalone.FlashBuilderApplication”不能 可以在注册表中找到。可用的应用程序有: org.eclipse.ant.core.antRunner, org.eclipse.ant.ui.antRunner, org.eclipse.equinox.app.error,org.eclipse.equinox.p2.director, org.eclipse.equinox.p2.garbagecollector.application, org.eclipse.equinox.p2.publisher.InstallPublisher, org.eclipse.equinox.p2.publisher.EclipseGenerator, org.eclipse.equinox.p2.publisher.ProductPublisher, org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher, org.eclipse.equinox.p2.reconciler.application, org.eclipse.equinox.p2.repository.repo2runnable, org.eclipse.equinox.p2.repository.metadataverifier, org.eclipse.equinox.p2.artifact.repository.mirrorApplication, org.eclipse.equinox.p2.metadata.repository.mirrorApplication, org.eclipse.equinox.p2.updatesite.UpdateSitePublisher, org.eclipse.equinox.p2.publisher.UpdateSitePublisher, org.eclipse.equinox.p2.publisher.CategoryPublisher, org.eclipse.help.base.infocenterApplication, org.eclipse.help.base.helpApplication, org.eclipse.help.base.indexTool, org.eclipse.jdt.apt.core.aptBuild, org.eclipse.jdt.core.JavaCodeFormatter, org.eclipse.ui.ide.workbench, org.eclipse.update.core.standaloneUpdate, org.eclipse.update.core.siteOptimizer。在 org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248) 在 org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) 在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) 在 org.eclipse.equinox.launcher.Main.run(Main.java:1410)
在 /Applications/Adobe Flash Builder 中找到名为“p2”的目录 4.7/ 并删除它。 Flash Builder 现在应该会启动。
【讨论】:
【参考方案2】:此修复适用于我在 Windows 上使用 FlashBuilder 4.7。
确保JDK 1.8安装正常。
删除(重命名)FlashBuilder 附带的 JDK1.6 文件夹:
C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\jre
我将它重命名为jre-removed-to-force-java1.8
,但无论如何。
【讨论】:
您安装了 Mac Sierra 还是手动升级了 Java?【参考方案3】:对我来说,这个解决方案是从 Phendrax 在这个页面上工作的:https://forums.adobe.com/thread/2218793
安装 Java 1.8 后, 转到“C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)”(或您的 Flash Builder 安装目录)并将文件夹“jre”重命名为其他名称(如“_jre”), 然后转到您的 Java 1.8 安装目录(对我来说是“C:\Program Files\Java\jdk1.8.0_101”), 并将“jre”文件夹从 Java 1.8 目录复制到 Flash Builder 目录
【讨论】:
【参考方案4】:对于任何感兴趣的人,我通过在 adt java 任务中添加一个“-tsa”参数,用我们的 ant build.xml 解决了这个问题
<!-- Load properties -->
<property file="$basedir$file.separatorbuild$file.separatorbuild.properties" />
<!-- ADT launch -->
<java jar="$flexsdk.adt" fork="true" failonerror="true" maxmemory="1024m">
<arg line="-package" />
<arg line="-keystore $project.certificate" />
<arg line="-storetype pkcs12" />
<arg line="-storepass $project.storepass" />
<arg line="-tsa $adt.tsa" />
<arg line="-target bundle" />
<arg line="$buildconfig.path" />
<arg line="$buildconfig.path/$project.name-app.xml" />
<arg line="-C $buildconfig.path $project.name.swf" />
</java>
使用我们的 build.properties 文件,使用以下 adt.tsa 值
adt.tsa = http://sha256timestamp.ws.symantec.com/sha256/timestamp
【讨论】:
以上是关于创建 AIR 文件时出错:无法生成时间戳:握手期间远程主机关闭连接的主要内容,如果未能解决你的问题,请参考以下文章