[英]Java 6 Update - Mac OS X application crash related to QuickTime libraries
我目前正在查看與在Mac OS X上運行時應用程序崩潰相關的bug。 該崩潰似乎僅在使用Java 6和Mac OS X 10.5 Update 1(64位模式)時發生。 在32位Mac Java安裝上不會出現此問題。
從我通過google閱讀的內容來看,問題似乎與該應用程序正在使用QuickTime庫有關,該庫似乎在以64位模式運行的Java 6上存在問題。
QuickTime for Java基於32位Carbon庫,並且有效地處於“維護模式”已有一段時間了。 不幸的是,有人設法使JNI(或JNA?)代碼正常工作,使用QTKit解決該問題將很困難。
相關參考:
我的經驗是Mac Java 6根本無法加載本機32位庫。 另一方面,由於Java 5仍是Mac OS X上的默認設置,因此我仍將Java 5用於那些需要本機庫的應用程序,因為這是我的Mac客戶所使用的。
我意識到這可能不是一個非常有用的答案,但是除非有人能啟發我們如何在Java 6中使用32位本機庫,否則我將盡力而為。
應用程序捆綁包中的JavaApplicationStub文件已配置為運行該庫不支持的x86_64。 這顯然是Java最新版本的新功能。
為了解決該問題,請使用lipo工具。 這是我所做的:
lipo-刪除x86_64 JavaApplicationStub-輸出JavaApplicationStub
此外,還建議將LSArchitecturePriority鍵添加到info.plist。 我在主要屬性中添加了以下內容:
LSArchitecturePriority i386 ppc
這將按照其首選順序指定允許的體系結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.