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

Cannot view all of .jar code in Android Studio

我无法查看我的 jar 文件。我的应用程序模块中 libs 目录中的所有 jar 文件都显示找不到源,并允许我选择附加源。我究竟应该附加什么才能完整地查看这些罐子而没有烦人的评论 "compiled code"?

这是来自应用程序的 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 */ }
}

这里是我的 XML 我项目的库文件夹中的一个 jar 文件,如果这有帮助的话:

<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>

注意来源。

在您的 gradle.build 文件末尾添加:

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

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

您需要将其添加到您的 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'])
}

如果有人想知道,我想通了。我所要做的就是从 github 下载(在我的例子中)源文件作为 zip 文件。我用 7-zip 将其解压缩,然后在 IDE 的右上角显示 "attach sources" 我单击了解压缩的文件夹。现在我可以查看所有代码了。