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
2
3
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 总结

此类情况发生的几率比较小,但日常开发中还是需要多关注下开发环境,避免不必要的麻烦。

如果有什么建议或者问题可以随时联系我,共同探讨学习: