2013-10-12 31 views
0

當我需要獲得方法簽名android.content.ContextWrapper,我去java.io.File的jar在哪裏?

「C:\ Program Files文件(x86)的\ Android的\ Android的SDK \平臺\ Android的18」,其中的android.jar放置,然後執行

javap -s -classpath android.jar android.content.ContextWrapper > out.txt

現在,我需要獲得方法簽名java.io.File。相應的.jar如何命名?

+0

對於Android,'java.io.File'應該是相同的罐子,'android.jar'內部。 –

回答

2

它出現在rt.jar。您可以使用JarFinder來查找罐子和課程。

它存在於lib文件夾的jdk安裝目錄下。

2

這是您的JRE或JDK中的rt.jar,即JRE上的lib。鑑於您使用的是Windows,我將會針對JDK(將位置更改爲您的JDK)

C:\program files\java\jdk1.7.0_25\jre\lib 

android.jar有這個文件,但前者應該足夠用於非android實現。

1

它出現在您正在使用的java版本的java runtime library中。對我來說,它是在

/home/aniket/jdk1.7.0_11/jre/lib/rt.jar 

相應地檢查。

2

由於Android SDK 16(我沒有在Android 18中測試過)android.jar也有java.io.File類。

嘗試打開它作爲一個ZIP文件,看看它有哪些文件。

ContentWrapper位於android/content文件夾中。

File存在於java/io文件夾中。

下面是javap的輸出的前幾行爲android.jarjava.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