当我需要获取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 和类。
它存在于 jdk 安装目录的lib
文件夹中。
从您的 JRE 或 JDK rt.jar
的,即在 JRE 上的lib
内部。鉴于您使用的是Windows,我将前往:
C:program filesjavajdk1.7.0_25jrelib
对于 JDK(将位置更改为您的 JDK(。
android.jar
也有该文件,但前者对于非 android 实现来说应该足够了。
SDK 16开始(我还没有在Android 18中测试过(,android.jar
也有java.io.File
类。
尝试将其作为 ZIP 文件打开,看看它有哪些文件。
ContentWrapper
位于android/content
文件夹中。
File
存在于java/io
文件夹中。
以下是用于android.jar
java.io.File
的javap输出的前几行
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版本的java runtime library
中。对我来说,它在
/home/aniket/jdk1.7.0_11/jre/lib/rt.jar
相应地检查。