我在OSX10.9上为我的应用程序构建了一个Java 7软件包,一切都很好但是当我在OSX 10.7上尝试它在启动时崩溃,它已经尝试了10.7.3和10.7.5。我确信Java 7的早期访问版本确实有效,但每次都会失败。
但是OSX 10.7.3及更高版本支持Java 7,对吧?
以下详细信息:
Process: launchd [229]
Path: /Applications/Jaikoz.app/Contents/MacOS/Jaikoz
Identifier: com.jthink.jaikoz
Version: ??? (???)
Code Type: X86-64 (Native)
Parent Process: launchd [110]
Date/Time: 2013-10-30 21:10:32.986 +0000
OS Version: Mac OS X 10.7.5 (11G56)
Report Version: 9
Interval Since Last Report: 9929716 sec
Crashes Since Last Report: 15
Per-App Crashes Since Last Report: 1
Anonymous UUID: 9162B9F6-4E51-4991-9437-5E6CB7C3A73D
Crashed Thread: Unknown
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00007fff5fc01028
Backtrace not available
Unknown thread crashed with X86 Thread State (64-bit):
rax: 0x0000000000000055 rbx: 0x0000000000000000 rcx: 0x0000000000000000 rdx: 0x0000000000000000
rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp: 0x0000000000000000 rsp: 0x0000000000000000
r8: 0x0000000000000000 r9: 0x0000000000000000 r10: 0x0000000000000000 r11: 0x0000000000000000
r12: 0x0000000000000000 r13: 0x0000000000000000 r14: 0x0000000000000000 r15: 0x0000000000000000
rip: 0x00007fff5fc01028 rfl: 0x0000000000010203 cr2: 0x00007fff5fc01028
Logical CPU: 0
Binary images description not available
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 2
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 312
thread_create: 0
thread_set_state: 0
Model: Macmini2,1, BootROM MM21.009A.B00, 2 processors, Intel Core 2 Duo, 1.83 GHz, 2 GB, SMC 1.19f2
Graphics: Intel GMA 950, GMA 950, Built-In, spdisplays_integrated_vram
Memory Module: BANK 0/DIMM0, 1 GB, DDR2 SDRAM, 667 MHz, 0xAD00000000000000, 0x48594D503531325336344350382D59352020
Memory Module: BANK 1/DIMM1, 1 GB, DDR2 SDRAM, 667 MHz, 0xAD00000000000000, 0x48594D503531325336344350382D59352020
AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x86), Atheros 5424: 2.1.14.9
Bluetooth: Version 4.0.8f17, 2 service, 18 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Serial ATA Device: Hitachi HTS541680J9SA00, 80.03 GB
Parallel ATA Device: MATSHITACD-RW CW-8124
USB Device: Keyboard Hub, apple_vendor_id, 0x1006, 0xfd500000 / 2
USB Device: Apple Keyboard, apple_vendor_id, 0x0221, 0xfd520000 / 3
USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x8205, 0x7d100000 / 2
USB Device: IR Receiver, apple_vendor_id, 0x8240, 0x7d200000 / 3
USB Device: Microsoft Wireless Optical Mouse® 1.00, 0x045e (Microsoft Corporation), 0x00e1, 0x5d200000 / 2
答案 0 :(得分:1)
我发现问题是我使用修改后的Appbundler项目https://bitbucket.org/infinitekind/appbundler/而我忘了当我试图在Mavericks上构建它时失败了,因为它无法找到10.7 sdk。
所以我改变了
<arg value="/Applications/Xcode.app/Contents/Developer/Platforms
/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"/>
<arg value="-mmacosx-version-min=10.7"/>
到
<arg value="/Applications/Xcode.app/Contents/Developer/Platforms
/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk"/>
<arg value="-mmacosx-version-min=10.8"/>
但我本来应该改变第一行,然后单独留下第二行
<arg value="/Applications/Xcode.app/Contents/Developer/Platforms
/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk"/>
<arg value="-mmacosx-version-min=10.7"/>
使用此版本的Appbundler构建我的应用程序现在可以在10.7,10.8和10.9上正常运行。此更改已独立提交到InfiniteKind项目。