我正在使用Androguard从Android应用程序的源代码收集API调用。某些检索到的API调用在其调用描述中有一个$符号,例如:Ljava/util/Locale$LanguageRange/<init>
或Lcom/google/android/gms/vision/barcode/BarcodeDetector$Builder/setBarcodeFormats
,而绝大多数调用中没有包含此$符号。例如,Lcom/google/android/gms/vision/Tracker/<init>
。
$符号表示某些编程中的变量引用,但在API调用引用中找到它是很奇怪的。我在这里该怎么解释?在API调用跟踪的上下文中,$符号意味着什么?
在这种情况下,它表示一个嵌套类。
因此,以BarcodeDetector$Builder
为例,它指的是Builder
类,它是BarcodeDetector
中的一个类。