无法在Android Studio中查看所有.jar代码

时间:2015-04-03 03:51:45

标签: java android android-studio jar

我无法查看我的jar文件。我的app模块中libs目录中的所有jar文件都显示未找到的源,并允许我选择附加源。如果没有令人讨厌的评论“编译代码”,我究竟应该附加什么才能完整地查看这些罐子呢?

这是应用程序中的build.gradle文件,而不是该项目的首要文件:

apply plugin: 'com.android.application'
apply plugin: 'com.parse'

buildscript {
  repositories {
    mavenCentral()
    maven { url 'https://maven.parse.com/repo' }
  }
  dependencies {
    classpath 'com.parse.tools:gradle:1.+'
  }
}

repositories {
  mavenCentral()
}

android {
  compileSdkVersion rootProject.ext.compileSdkVersion
  buildToolsVersion rootProject.ext.buildToolsVersion

  defaultConfig {
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
  }

  sourceSets {
    main {
      manifest.srcFile 'AndroidManifest.xml'
      java.srcDirs = ['src']
      res.srcDirs = ['res']
    }
  }
  dependencies {
    compile fileTree (dir:'libs', include:['*.jar'])
  }
}

这是我的libs文件夹中的一个jar中的一个类(注意所有注释,也无法编辑):

package net.fortuna.ical4j.data;

public abstract class AbstractOutputter {
    protected static final java.nio.charset.Charset DEFAULT_CHARSET;
    private boolean validating;
    protected int foldLength;

    public AbstractOutputter() { /* compiled code */ }

    public AbstractOutputter(boolean validating) { /* compiled code */ }

    public AbstractOutputter(boolean validating, int foldLength) { /* compiled code */ }

    public final boolean isValidating() { /* compiled code */ }

    public final void setValidating(boolean validating) { /* compiled code */ }
}

如果这有助于我的jar文件,那么这是我项目的libraries文件夹中的XML:

<component name="libraryTable">
  <library name="ical4j-1.0.6">
    <CLASSES>
        <root url="jar://$PROJECT_DIR$/app/libs/ical4j-1.0.6.jar!/" />
    </CLASSES>
    <JAVADOC />
    <SOURCES>
        <root url="jar://$USER_HOME$/.ideaLibSources/ical4j-1.0.6-sources.jar!/" />
    </SOURCES>
  </library>
</component>

请注意来源。

3 个答案:

答案 0 :(得分:2)

如果有人想知道,我想出来了。我所要做的就是从github下载(在我的情况下)源文件作为zip文件。我用7-zip解压缩它然后在IDE的右上角,它说“附加源”我点击了解压缩的文件夹。现在我可以查看所有代码了。

答案 1 :(得分:0)

在gradle.build文件末尾添加:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

这将使您的构建考虑到您的.jar文件

答案 2 :(得分:0)

您需要将其添加到您的gradle MODULE文件中。您可能已将其添加到PROJECT gradle文件中。请参阅我的gradle MODULE文件示例:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "bruno.stackrest"
        minSdkVersion 11
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
 compile fileTree(dir: 'libs', include: ['*.jar'])
}