当我需要获取方法签名时android.content.ContextWrapper
,我会去
"C:\Program Files (x86)\Android\android-sdk\platforms\android-18" 放置android.jar 然后执行
javap -s -classpath android.jar android.content.ContextWrapper > out.txt
现在,我需要获取java.io.File
. 对应的 .jar 是如何命名的?
它存在于rt.jar
. 您可以使用JarFinder来查找 jar 和类。
它存在于lib
jdk安装目录的文件夹中。
这是rt.jar
来自你的 JRE 或 JDK,即lib
JRE 里面。鉴于您使用的是 Windows,我将前往:
C:\program files\java\jdk1.7.0_25\jre\lib
对于 JDK(将位置更改为您的 JDK)。
android.jar
也有那个文件,但前者应该足以满足非 android 实现。
从 Android SDK 16 开始(我还没有在 Android 18 中测试过)android.jar
也有这个java.io.File
类。
尝试将其作为 ZIP 文件打开并查看其中包含哪些文件。
ContentWrapper
在android/content
文件夹中。
File
存在于java/io
文件夹中。
这是javap输出的前几行android.jar
java.io.File
Compiled from "File.java"
public class java.io.File implements java.io.Serializable, java.lang.Comparable<java.io.File> {
public static final char separatorChar;
Signature: C
public static final java.lang.String separator;
Signature: Ljava/lang/String;
public static final char pathSeparatorChar;
Signature: C
public static final java.lang.String pathSeparator;
Signature: Ljava/lang/String;
static final boolean $assertionsDisabled;
Signature: Z
int getPrefixLength();
Signature: ()I
public java.io.File(java.lang.String);
Signature: (Ljava/lang/String;)V
public java.io.File(java.lang.String, java.lang.String);
Signature: (Ljava/lang/String;Ljava/lang/String;)V
它存在于java runtime library
您正在使用的 java 版本中。对我来说,它在
/home/aniket/jdk1.7.0_11/jre/lib/rt.jar
相应地检查。