找不到Android API 23平台的来源(Android Studio 2.0)


99

Android Studio无法将我正确地重定向到API源。当我执行任何功能时,它将反编译.class文件字节码,而不是从sdk / sources树访问正确的文件。 点击“下载”和“刷新”选项没有任何作用。实现侦听器特别烦人,因为它会生成函数的标头,而没有文档中变量的鬃毛(例如,var1,var2等)。我已经安装了API 23(SDK平台,工具,文档,源代码)。我已经将SDK的编译和目标设置为23。我试图重新安装SDK工具,从Canary通道更新AS,使缓存无效,但到目前为止没有任何帮助。我切换到API 21,并且工作正常。

我想念什么?

我的build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.2'

    defaultConfig {
        applicationId "com.myapp.app"
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.android.support:design:23.3.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile project(':volley')
    compile 'com.jakewharton:butterknife:7.0.1'
}

在下面,您可以找到具有相同API 23集和相同行为的空白项目(无第三方库)的gradle输出。

Executing tasks: [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies]

Configuration on demand is an incubating feature.
Incremental java compilation is an incubating feature.
:clean
:app:clean
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAnimatedVectorDrawable2330Library
:app:prepareComAndroidSupportAppcompatV72330Library
:app:prepareComAndroidSupportDesign2330Library
:app:prepareComAndroidSupportRecyclerviewV72330Library
:app:prepareComAndroidSupportSupportV42330Library
:app:prepareComAndroidSupportSupportVectorDrawable2330Library
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:mergeDebugShaders
:app:compileDebugShaders
:app:generateDebugAssets
:app:mergeDebugAssets
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources
:app:mergeDebugResources
:app:processDebugManifest
:app:processDebugResources
:app:generateDebugSources
:app:preDebugAndroidTestBuild UP-TO-DATE
:app:prepareDebugAndroidTestDependencies
:app:compileDebugAndroidTestAidl
:app:processDebugAndroidTestManifest
:app:compileDebugAndroidTestRenderscript
:app:generateDebugAndroidTestBuildConfig
:app:mergeDebugAndroidTestShaders
:app:compileDebugAndroidTestShaders
:app:generateDebugAndroidTestAssets
:app:mergeDebugAndroidTestAssets
:app:generateDebugAndroidTestResValues UP-TO-DATE
:app:generateDebugAndroidTestResources
:app:mergeDebugAndroidTestResources
:app:processDebugAndroidTestResources
:app:generateDebugAndroidTestSources
:app:mockableAndroidJar
:app:preDebugUnitTestBuild UP-TO-DATE
:app:prepareDebugUnitTestDependencies

BUILD SUCCESSFUL

请出示gradle这个文件
穆尼尔Elfassi

我附上我的build.gradle。感谢您的回应
路加福音

您在Linux上使用它吗?
Aamir Abro

我正面临着同样的问题
Aamir Abro

Answers:


211

显然,此问题已在Android Studio 2.1中修复。在Android Studio中重新运行Android SDK Manager安装程序,这应该可以解决您的问题。

在Android Studio中:

Windows:文件->设置(ctrl + alt + s)->外观和行为->系统设置-> Android SDK。

Mac:Android Studio->首选项(cmd +,)->外观和行为->系统设置-> Android SDK。

单击Android SDK位置右侧的编辑。在向导中一直单击“ 下一步 ”,这应该可以解决问题。

这是回答了在这里的一个不同的问题。


3
重新启动以使其生效。
王凯

1
辉煌!你是冠军。重新导入为我解决了此问题。
罗伯特·马赛利

2
你会嫁给我吗?
Andrea Baccega '16

2
任何人都可以使用Android Studio 2.3.3和API 26吗?在这种情况下,问题完全相同,但是遵循以下说明并重新启动并没有帮助。
jwBurnside

仍与AS 3.1.3相关。谢谢!
安德烈·兰科夫'18

47

对于面临同样的问题的人,解决的办法是在这篇文章为Linux,并在同一主题在这里为Windows(感谢 阿米尔ABRO)。基本上,您必须为缺少的API级别编辑jdk.table.xml文件。我不知道为什么,但Android的2.0和2.1 RC不填写<root type="composite" /><sourcePath>。我更新了来源的路径<root type="simple" url="file://D:/android/sdk/sources/android-23" />,现在可以使用了。

对于Windows用户文件位置C:\ Users {USER_NAME} .AndroidStudio2.0 \ config \ options \ jdk.table.xml

对于Linux用户文件位置〜/ Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

编辑:

对于一些人来说重置SDK位置帮助


我试过了,但是这不是Android Studio中2.1,Ubuntu的16.04工作
L.更快

14
这里有人写道,重置SDK位置会有所帮助。您还可以尝试在SDK管理器中重新安装API源,并确保jdk.table.xml中有一个指向您正在使用的API级别的正确路径的条目。
路加福音

2
重置SDK位置确实有所帮助,即使我没有修改jdk.table.xml。
L. Swifter's

1
对于Mac用户来说是相同的:〜/ Library / Preferences / AndroidStudioBeta / options / jdk.table.xml
evan


8

正如qbeck在他的评论中提到的那样,重置SDK的路径已为我们中的一些人解决了该问题。

解:

Android Studio 2.1报告:通过重置SDK解决了该问题。

首选项->外观和行为->系统设置-> Android SDK。

单击Android SDK位置右侧的编辑。接下来,下一步,完成向导,瞧!


1
这解决了该问题在Android Studio中2.3瓦特/ SDK 25
乔恩

在Linux上是:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh

3

Windows 10上的Android Studio 3.2.1上的API级别28遇到相同的问题。刷新无法正常工作。

重新启动Android Studio后工作。


1

要将您的Android Studio更新到Api 23,请转到:

Tools > Android > SDK Manager

您可以转到然后转到SDK Tools选项卡或单击Launch Sdandalone SDK Manager。检查Android SDK Build-tools 23.0.2安装

更新:

请从您的依赖项中删除:

compile project(':volley')

并替换为:

compile 'com.android.volley:volley:1.0.0'

1
我已经安装了API 23(SDK平台,工具,文档,源代码)。实际上,我尝试重新安装所有组件,但没有帮助。
路加福音

好的,我认为问题与排球图书馆有关。.请检查我更新的答案
Mounir Elfassi 2016年

依然没有。我什至已经建立了一个没有任何外部条件的新项目,而且还是一样。似乎更多与Android Studio相关的问题。
路加福音

嗯,请清理您的项目=>重建并检查android studio右下角的gradle控制台。用看到的日志更新您的问题
Mounir Elfassi 2016年

我将gradle的输出附加到另一个(空白)项目,其中发生了相同的事情。我感谢您的帮助。
路加福音

0

有时会出现2个错误,第一个会说:“找不到平台android 28”,单击下一步,“接受一些许可协议...”。接受协议后,两个错误都将消失。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.