Android Studio Error:String index out of range:-1
博主遇到此問題的原因是 NDK 版本過高(>=18),或者說 Android+Studio/">Android Studio 版本過低(<3.x),導致不匹配造成的。解決方法是降低 NDK 版本到 17.x 及以下,或者升級 Android Studio 版本到 3.x。
0x00 異常
最近接手同事的一個專案,在我電腦上使用 Android Studio 死活是無法正常載入,同步專案的過程一直報String index out of range: -1
的異常,且沒有任何有用的 Log 打印出來。
基礎環境:
macOS 10.13.6 Android Studio 2.3.3 JDK 1.8
使用多個搜尋引擎搜尋Android Studio String index out of range: -1
發現無一例此種情況,大多是String index out of range: -xx
,xx 都小於-1
。
0x01 解決
既然沒有已有的解決方案,就只能下笨方法來處理了。我對比了 Android SDK 裡面所有的庫版本,逐一排除,鎖定到 NDK 版本上,沒問題的版本都是17及以下的,我的最近升級到 18.x 了,索性直接移除 NDK 試了下,發現專案能正常打開了。
由於公司專案使用的環境版本比較低,且無法支援高版本的 gradle 環境,遂選擇使用降級 NDK 的方案。使用官網下載 NDK 17.x 版本後,專案也是正常執行。
0x02 總結
此類情況發生的機率比較小,但日常開發中還是需要多關注下開發環境,避免不必要的麻煩。
如果有什麼建議或者問題可以隨時聯絡我,共同探討學習: