使用最新版的 ADK 1.2.23.13 編譯燒錄時會出現一個奇怪的錯誤如下:
從 builder.build 匯入所有內容
ModuleNotFoundError: 沒有名為 'builder' 的模組
同一版本的程式碼使用舊版本的 ADK Toolkit 編譯正常,顯然是 ADK Toolkit 的問題。比對環境後,差異在於編譯所使用的 Python 環境不同。之前使用的是 Python 3.7,現在只能使用 Python 3.9 或 3.11。
細心觀察編譯時會出現一條警告訊息,查看檔案,這個地方是在處理載入 ADK Python 模組路徑,原因大概就是這個,因為上面的錯誤是找不到一個明明存在的模組。
按照提示重新安裝低版本的setuptools還是無法修復該問題。
最後檢查完整的log,直接修改了ubuild.bat,將目前預設使用的Python版本從Python 3降到預設Python 2,暫時解決了問題,不再影響使用。
徹底修改還需要原廠發布新版本的ADK,調整腳本以修復Python升級帶來的問題。目前只是一個臨時方法。
常見問題
1. ADK Toolkit 1.2.23.13怎麼安裝?高通官網沒有看到新版本發布?
目前ADK都已經整合進Qualcomm Package Manager 3,軟體分發都是由該軟體執行。所以要先安裝QPM3才能進行下載和安裝。
2. 如何下載QPM3?
可以直接到高通官網下載,不過使用需要帳號有高通訪問權限。
3. ADK 安裝時會選擇使用 Python 3.9 或 Python 3.11,有什麼差別,推薦使用哪個?
兩個版本沒有差別,建議使用 Python 3.11,因為其他晶片只使用這個版本,這樣就不需要維護多個版本。
4. 現在使用 PYTHON 2.7 來編譯會有什麼未知的隱患?
不會,Python 2.7 也是 ADK 自帶的環境。而且它只是編譯工具的調度組織,並不影響實際的編譯結果。
5. 新的ADK對於程式碼版本有什麼要求嗎?
沒有,對 QCC517x/8x/QCC307X~9X 的代碼都適用。
評論