Android Studio Error:String index out of range:-1
博主遇到此问题的原因是 NDK 版本过高(>=18),或者说 Android Studio 版本过低(<3.x),导致不匹配造成的。解决方法是降低 NDK 版本到 17.x 及以下,或者升级 Android Studio 版本到 3.x。
0x00 异常
最近接手同事的一个项目,在我电脑上使用 Android Studio 死活是无法正常加载,同步项目的过程一直报 String index out of range: -1
的异常,且没有任何有用的 Log 打印出来。
基础环境:
1 | macOS 10.13.6 |
使用多个搜索引擎搜索 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 总结
此类情况发生的几率比较小,但日常开发中还是需要多关注下开发环境,避免不必要的麻烦。
如果有什么建议或者问题可以随时联系我,共同探讨学习: