【開發筆記】修復 macOS 上 JADX 啟動崩潰並實現快速啟動

在 macOS(尤其是 Sonoma 或更新版本)上使用 Homebrew 安裝 jadx 後,執行 jadx-gui 經常會遇到 _NSCarbonMenuCrashIfNeeded 錯誤導致程序崩潰。這是由於默認 JDK 與 macOS 菜單欄渲染機制的兼容性問題引起的。

本文提供一個終極解決方案:更換穩定版 JDK 並設置終端別名 (Alias)。

  1. 安裝穩定的 JDK 環境

Homebrew 默認的 OpenJDK 有時過新,建議安裝對 GUI 支持更穩定的 Azul Zulu JDK 21:

bash

复制代码
brew install --cask zulu@21
  1. 修正啟動指令

經測試,指定 JAVA_HOME 環境變量可以完美解決菜單欄衝突導致的崩潰。測試指令如下:

bash

复制代码
JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-21.jdk/Contents/Home jadx-gui
  1. 配置別名(Alias)實現秒速啟動

為了避免每次都輸入長指令,我們將其寫入 Zsh 配置文件中。

  1. 打開配置文件 :

    bash

    复制代码
    nano ~/.zshrc
  2. 在文件末尾添加以下代碼 :

    bash

    复制代码
    # JADX GUI 快捷啟動
    alias jadx='JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-21.jdk/Contents/Home jadx-gui'
  3. 保存並生效 :
    按下 Ctrl + O (Enter) 保存,Ctrl + X 退出。然後執行:

    bash

    复制代码
    source ~/.zshrc
  4. 使用結果

現在,您只需要在終端機輸入一個單詞,即可優雅地打開 JADX:

bash

复制代码
jadx

💡 小結

  • 工具推薦 :Android 逆向首選 JADX。
  • 解決崩潰 :核心在於使用 zulu-21 替代系統默認 Java。
  • 提升效率 :透過 alias 簡化重複勞動。

如果未來升級了 JDK 版本,只需回頭修改 ~/.zshrc 中的路徑即可。

相关推荐
墨天梦1 小时前
D05_ViewModel与单向数据流
android·kotlin
蒸鱼Yuzheng2 小时前
Android 构建可复现性:APK 指纹、文件级差异与供应链审计
android·apk·devops·软件供应链·可复现构建
Patrick在香港3 小时前
同一份脚本,mac 正常 Windows 乱码:open() 默认编码实测(附 3.15 终局)
utf-8·windows·python·macos·跨平台·编码·标准库
墨天梦4 小时前
D03_Compose列表与稳定身份
android·gitee·kotlin
DevLoom_5 小时前
Mac装NTFS for Mac,不用修改 SIP 安全设置也能正常读写NTFS硬盘
macos·macos 27·mac读写ntfs·ntfs for mac·mac应用
萌新杰少5 小时前
Kuikly股票查看软件开发体验——SaiRen
android·kotlin·客户端
vilya5 小时前
把 Python 塞进 APK:Chaquopy 打包实践
android·python
Laurie三省5 小时前
现场版却配上录音室版的歌词?聊聊我给开源 Mac 歌词软件写的多源打分算法
算法·macos·go
用户92817267390165 小时前
Android Compose版本的AI组件库来了。
android·kotlin
知昂七昂5 小时前
00-02:AOSP 源码阅读环境与检索方法论源码剖析(Android 16 / aosp-main)
android