You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中被限制的String.indexOf([CII[CIII)I参数含义及API说明

非SDK接口Ljava/lang/String;->indexOf([CII[CIII)I详解

接口完整含义

这个签名是JNI(Java Native Interface)格式的方法标识,对应java.lang.String类中一个未公开的indexOf重载方法,从Android API 28开始被列为受限非SDK接口,第三方应用调用会触发系统限制。

参数与返回值拆解

JNI签名的符号对应Java类型,逐一解析:

  • Ljava/lang/String;:表明方法归属java.lang.String类
  • ->:分隔类名和方法签名
  • indexOf:方法名
  • 参数列表[CII[CIII:
    • [C:对应Java的char[],是要搜索的目标字符数组
    • I:对应Java的int,搜索的起始索引位置
    • I:对应Java的int,目标数组中参与搜索的长度
    • [C:对应Java的char[],用于匹配的字符数组(即要找的内容)
    • I:对应Java的int,匹配数组的起始索引
    • I:对应Java的int,匹配数组中参与匹配的长度
    • I:对应Java的int,控制搜索行为的标志位(系统内部使用)
  • )I:方法返回值为int,找到匹配时返回起始索引,未找到则返回-1

限制背景与替代方案

从Android 12(API 31)开始,这类非SDK接口的限制进一步加强,系统会拦截非法调用并抛出异常。这个方法原本是Android系统内部使用的非公开API,并不属于对外暴露的String类公开方法集合。

如果你在项目中用到了这个方法,建议替换为官方公开的indexOf重载,比如:

  • indexOf(String str)
  • indexOf(String str, int fromIndex)
  • indexOf(int ch, int fromIndex)
    这些公开方法在所有API版本中都能安全使用。

内容的提问来源于stack exchange,提问作者Shreyas R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:55:17