java - Android Studio 外部库使用错误的 Java 源代码

标签 java android-studio

我正在使用 Libgdx 游戏库,当我从 Android Studio 1.5 升级到 2.1 并升级 Android Studio 提示的 API 和构建工具时,我开始遇到问题。

在升级所有内容之前,我的项目运行正常。现在,当我运行程序时,我收到应访问文件的 Libgdx 函数的“文件未找到”错误。我进入该函数,直到它从 java.io.File 调用 file().exists()。当我跳转到 file().exists() 的声明时,Android Studio 会获取代码

public boolean exists() {
    throw new RuntimeException("Stub!");
}

窗口顶部还有一条消息,显示“未找到 Android API 19 平台的源”,旁边有显示“下载”和“刷新(如果已下载)”的链接。如果我单击“下载”,Android Studio 会下载一些内容,但问题并未解决,消息也不会消失。如果我单击“刷新(如果已下载)”,则不会发生任何情况。

但是,如果我转到我的源文件之一,请添加 import java.io.File 并跳转到该文件中的 File.exists() 声明,Android Studio 带我看代码

public boolean exists() {
    SecurityManager security = System.getSecurityManager();
    if (security != null) {
        security.checkRead(path);
    }
    return ((fs.getBooleanAttributes(this) & FileSystem.BA_EXISTS) != 0);
}

有谁知道这里发生了什么以及如何解决它?

最佳答案

解决方案01:

只需按照以下步骤操作:设置 --> Android SDK --> 启动独立 SDK 管理器 --> 下载所需的 SDK 源(在每个 Anroid 版本的 Sources for Android SDK 中) --> 重新启动 Android Studio。如果上述方法没有帮助,请确保您已下载所需的 SDK 源,并重置 Android SDK Location 进行刷新。

解决方案02:

如果上述方法仍然没有帮助,您可以转到 C:\Users{USER_NAME}.AndroidStudio2.x\config\options\jdk.table.xml,并更新 <root type="composite" /> <sourcePath>。我在 API 24 平台中更新了源路径 <root type="simple" url="file://D:/android/sdk/sources/android-24" />,现在它可以工作了。

解决方案03:

请参阅此帮助:https://stackoverflow.com/a/36825435/6482350

关于java - Android Studio 外部库使用错误的 Java 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37243941/

相关文章:

java - 在Java中为pdf设置计时器并在计时器用完后关闭它

java - 在 Ubuntu 13.10 上使用 Ant 和 OpenJDK

java - 为什么这段 java 代码中没有竞争条件?

Android Gradle 库依赖与使用 Nexus 的库依赖

Android New Build System, Experimental Plugin, JNI Library Module

java - 关于在 GAE 上实现 "inverse document frequency"的建议?

java - 在 server.xml 中包含 adminCenter-1.0 和 batchManagement-1.0 功能,从而在 Liberty 8.5.5.8 中出现功能冲突错误

android - 为什么 Bottom Sheet 对话框无法在平板电脑上展开?

android - strings.xml 中的 "is translated here but not found in default locale"错误,可翻译 = "false"

android - Google Play 服务未在模拟器上更新至 10.0.+