1

我在 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
4

1 回答 1

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 项目。

于 2013-11-01T09:15:21.777 回答